@promptbook/node 0.110.0 → 0.111.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.
- package/README.md +4 -0
- package/esm/index.es.js +654 -99
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/_packages/utils.index.d.ts +12 -0
- package/esm/typings/src/book-2.0/agent-source/BookEditable.d.ts +41 -0
- package/esm/typings/src/book-2.0/agent-source/CreateAgentModelRequirementsOptions.d.ts +5 -0
- package/esm/typings/src/book-components/Chat/Chat/ImagePromptRenderer.d.ts +21 -0
- package/esm/typings/src/book-components/Chat/LlmChat/LlmChatProps.d.ts +5 -0
- package/esm/typings/src/book-components/Chat/LlmChat/defaults.d.ts +9 -0
- package/esm/typings/src/book-components/Chat/save/_common/ChatSaveFormatDefinition.d.ts +7 -1
- package/esm/typings/src/book-components/Chat/save/html/htmlSaveFormatDefinition.d.ts +6 -5
- package/esm/typings/src/book-components/Chat/save/index.d.ts +3 -3
- package/esm/typings/src/book-components/Chat/save/pdf/buildChatPdf.d.ts +11 -0
- package/esm/typings/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +2 -2
- package/esm/typings/src/book-components/Chat/utils/parseImagePrompts.d.ts +42 -0
- package/esm/typings/src/book-components/Chat/utils/parseImagePrompts.test.d.ts +1 -0
- package/esm/typings/src/commitments/MEMORY/MEMORY.d.ts +67 -0
- package/esm/typings/src/commitments/MEMORY/MEMORY.test.d.ts +1 -0
- package/esm/typings/src/commitments/_common/toolRuntimeContext.d.ts +49 -0
- package/esm/typings/src/constants/streaming.d.ts +20 -0
- package/esm/typings/src/llm-providers/openai/utils/buildToolInvocationScript.d.ts +9 -0
- package/esm/typings/src/utils/clientVersion.d.ts +51 -0
- package/esm/typings/src/utils/knowledge/inlineKnowledgeSource.d.ts +13 -9
- package/esm/typings/src/utils/normalization/constructImageFilename.d.ts +18 -0
- package/esm/typings/src/utils/normalization/constructImageFilename.test.d.ts +1 -0
- package/esm/typings/src/version.d.ts +1 -1
- package/package.json +2 -2
- package/umd/index.umd.js +654 -99
- package/umd/index.umd.js.map +1 -1
|
@@ -12,6 +12,12 @@ import { isValidXmlString } from '../formats/xml/utils/isValidXmlString';
|
|
|
12
12
|
import { PromptString } from '../pipeline/prompt-notation';
|
|
13
13
|
import { prompt } from '../pipeline/prompt-notation';
|
|
14
14
|
import { promptTemplate } from '../pipeline/prompt-notation';
|
|
15
|
+
import { CLIENT_VERSION_HEADER } from '../utils/clientVersion';
|
|
16
|
+
import { CLIENT_LATEST_VERSION } from '../utils/clientVersion';
|
|
17
|
+
import { isClientVersionCompatible } from '../utils/clientVersion';
|
|
18
|
+
import { formatClientVersionMismatchMessage } from '../utils/clientVersion';
|
|
19
|
+
import { attachClientVersionHeader } from '../utils/clientVersion';
|
|
20
|
+
import { getClientVersionFromHeaders } from '../utils/clientVersion';
|
|
15
21
|
import { $detectRuntimeEnvironment } from '../utils/environment/$detectRuntimeEnvironment';
|
|
16
22
|
import { $isRunningInBrowser } from '../utils/environment/$isRunningInBrowser';
|
|
17
23
|
import { $isRunningInJest } from '../utils/environment/$isRunningInJest';
|
|
@@ -103,6 +109,12 @@ export { isValidXmlString };
|
|
|
103
109
|
export { PromptString };
|
|
104
110
|
export { prompt };
|
|
105
111
|
export { promptTemplate };
|
|
112
|
+
export { CLIENT_VERSION_HEADER };
|
|
113
|
+
export { CLIENT_LATEST_VERSION };
|
|
114
|
+
export { isClientVersionCompatible };
|
|
115
|
+
export { formatClientVersionMismatchMessage };
|
|
116
|
+
export { attachClientVersionHeader };
|
|
117
|
+
export { getClientVersionFromHeaders };
|
|
106
118
|
export { $detectRuntimeEnvironment };
|
|
107
119
|
export { $isRunningInBrowser };
|
|
108
120
|
export { $isRunningInJest };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { string_book } from './string_book';
|
|
2
|
+
/**
|
|
3
|
+
* Helper for manipulating agent books in-memory.
|
|
4
|
+
*
|
|
5
|
+
* @private internal helper for `@promptbook/core`
|
|
6
|
+
*/
|
|
7
|
+
export declare class BookEditable {
|
|
8
|
+
private readonly lines;
|
|
9
|
+
/**
|
|
10
|
+
* Creates a mutable view over the supplied book content.
|
|
11
|
+
*
|
|
12
|
+
* @param book - Agent source text to work with.
|
|
13
|
+
*/
|
|
14
|
+
constructor(book: string_book);
|
|
15
|
+
/**
|
|
16
|
+
* Creates a new instance from the supplied book text.
|
|
17
|
+
*
|
|
18
|
+
* @param book - Agent source text to work with.
|
|
19
|
+
* @returns Editable view over the book content.
|
|
20
|
+
*/
|
|
21
|
+
static from(book: string_book): BookEditable;
|
|
22
|
+
/**
|
|
23
|
+
* Returns the editable content as a string_book.
|
|
24
|
+
*
|
|
25
|
+
* @returns Current book content with original line breaks preserved.
|
|
26
|
+
*/
|
|
27
|
+
toString(): string_book;
|
|
28
|
+
/**
|
|
29
|
+
* Checks whether the book contains any non-empty lines.
|
|
30
|
+
*
|
|
31
|
+
* @returns `true` when the book has meaningful content beyond blank lines.
|
|
32
|
+
*/
|
|
33
|
+
hasNonEmptyContent(): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Finds the last line index whose trimmed text matches the commitment name.
|
|
36
|
+
*
|
|
37
|
+
* @param commitment - Commitment keyword to locate (for example `CLOSED`).
|
|
38
|
+
* @returns Zero-based line index or `null` when the commitment is absent.
|
|
39
|
+
*/
|
|
40
|
+
findLastCommitmentLineIndex(commitment: string): number | null;
|
|
41
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AgentReferenceResolver } from './AgentReferenceResolver';
|
|
2
|
+
import type { InlineKnowledgeSourceUploader } from '../../utils/knowledge/inlineKnowledgeSource';
|
|
2
3
|
/**
|
|
3
4
|
* Options for `createAgentModelRequirements` and `createAgentModelRequirementsWithCommitments`.
|
|
4
5
|
*
|
|
@@ -9,4 +10,8 @@ export type CreateAgentModelRequirementsOptions = {
|
|
|
9
10
|
* Resolver that transforms compact agent references (FROM, IMPORT, TEAM) into concrete URLs.
|
|
10
11
|
*/
|
|
11
12
|
readonly agentReferenceResolver?: AgentReferenceResolver;
|
|
13
|
+
/**
|
|
14
|
+
* Optional hook used to upload inline knowledge files before finalizing the requirements.
|
|
15
|
+
*/
|
|
16
|
+
readonly inlineKnowledgeSourceUploader?: InlineKnowledgeSourceUploader;
|
|
12
17
|
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Props for rendering an interactive image prompt placeholder.
|
|
3
|
+
*
|
|
4
|
+
* @private internal component of `<ChatMessageItem/>`
|
|
5
|
+
*/
|
|
6
|
+
export type ImagePromptRendererProps = {
|
|
7
|
+
/**
|
|
8
|
+
* Alt text provided by the agent for the image.
|
|
9
|
+
*/
|
|
10
|
+
alt: string;
|
|
11
|
+
/**
|
|
12
|
+
* Prompt text that will be sent to the image generation API.
|
|
13
|
+
*/
|
|
14
|
+
prompt: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Renders a preview area for the `` notation.
|
|
18
|
+
*
|
|
19
|
+
* @private internal component of `<ChatMessageItem/>`
|
|
20
|
+
*/
|
|
21
|
+
export declare function ImagePromptRenderer({ alt, prompt }: ImagePromptRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -68,6 +68,11 @@ export type LlmChatProps = Omit<ChatProps, 'messages' | 'onMessage' | 'onChange'
|
|
|
68
68
|
* @default Shared thinking message variants
|
|
69
69
|
*/
|
|
70
70
|
readonly thinkingMessages?: ReadonlyArray<string>;
|
|
71
|
+
/**
|
|
72
|
+
* Human-friendly text shown when `LlmChat` fails to process a message.
|
|
73
|
+
* Use metadata overrides in apps (like Agents Server) instead of copying this string.
|
|
74
|
+
*/
|
|
75
|
+
readonly chatFailMessage?: string;
|
|
71
76
|
/**
|
|
72
77
|
* Optional custom error handler that will be called when an error occurs during chat.
|
|
73
78
|
* If not provided, errors will be displayed as messages in the chat.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default user-facing error text shown in chats when the generator fails.
|
|
3
|
+
*
|
|
4
|
+
* @private internal fallback for `LlmChat` so the same string can be reused across the stack without repetition.
|
|
5
|
+
*/
|
|
6
|
+
export declare const DEFAULT_CHAT_FAIL_MESSAGE = "Sorry, I encountered an error processing your message. Please, try again later.";
|
|
7
|
+
/**
|
|
8
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
9
|
+
*/
|
|
@@ -27,7 +27,7 @@ export type ChatSaveFormatDefinition = {
|
|
|
27
27
|
/**
|
|
28
28
|
* The function that generates the content of the file to be saved
|
|
29
29
|
*/
|
|
30
|
-
getContent(chatExportData: ChatExportData): Promisable<
|
|
30
|
+
getContent(chatExportData: ChatExportData): Promisable<ChatSaveFormatContent>;
|
|
31
31
|
};
|
|
32
32
|
/**
|
|
33
33
|
* Plugin contract for the data passed to `ChatSaveFormatDefinition.getContent()`
|
|
@@ -48,4 +48,10 @@ type ChatExportData = {
|
|
|
48
48
|
*/
|
|
49
49
|
readonly participants: ReadonlyArray<ChatParticipant>;
|
|
50
50
|
};
|
|
51
|
+
/**
|
|
52
|
+
* Content data that can be wrapped into a browser blob.
|
|
53
|
+
*
|
|
54
|
+
* @private Internal helper type for chat save plugins.
|
|
55
|
+
*/
|
|
56
|
+
type ChatSaveFormatContent = string | Blob | ArrayBuffer | ArrayBufferView;
|
|
51
57
|
export {};
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { ChatMessage } from '../../types/ChatMessage';
|
|
2
|
+
import type { ChatParticipant } from '../../types/ChatParticipant';
|
|
1
3
|
/**
|
|
2
4
|
* HTML export plugin
|
|
3
5
|
*
|
|
@@ -6,15 +8,14 @@
|
|
|
6
8
|
export declare const htmlSaveFormatDefinition: {
|
|
7
9
|
readonly formatName: "html";
|
|
8
10
|
readonly label: "Html";
|
|
9
|
-
readonly getContent: ({ messages }: {
|
|
11
|
+
readonly getContent: ({ title, messages, participants }: {
|
|
10
12
|
readonly title: string;
|
|
11
|
-
readonly messages: readonly
|
|
12
|
-
readonly participants: readonly
|
|
13
|
+
readonly messages: readonly ChatMessage[];
|
|
14
|
+
readonly participants: readonly ChatParticipant[];
|
|
13
15
|
}) => string;
|
|
14
16
|
readonly mimeType: "text/html";
|
|
15
17
|
readonly fileExtension: "html";
|
|
16
18
|
};
|
|
17
19
|
/**
|
|
18
|
-
* TODO:
|
|
19
|
-
* TODO: [😬] Take chat save to HTML from existing parallel implementation
|
|
20
|
+
* TODO: Enhance branding
|
|
20
21
|
*/
|
|
@@ -36,7 +36,7 @@ export declare const CHAT_SAVE_FORMATS: readonly [{
|
|
|
36
36
|
}, {
|
|
37
37
|
readonly formatName: "html";
|
|
38
38
|
readonly label: "Html";
|
|
39
|
-
readonly getContent: ({ messages }: {
|
|
39
|
+
readonly getContent: ({ title, messages, participants }: {
|
|
40
40
|
readonly title: string;
|
|
41
41
|
readonly messages: readonly import("../types/ChatMessage").ChatMessage[];
|
|
42
42
|
readonly participants: readonly import("../types/ChatParticipant").ChatParticipant[];
|
|
@@ -56,11 +56,11 @@ export declare const CHAT_SAVE_FORMATS: readonly [{
|
|
|
56
56
|
}, {
|
|
57
57
|
readonly formatName: "pdf";
|
|
58
58
|
readonly label: "Pdf";
|
|
59
|
-
readonly getContent: (
|
|
59
|
+
readonly getContent: ({ messages, participants }: {
|
|
60
60
|
readonly title: string;
|
|
61
61
|
readonly messages: readonly import("../types/ChatMessage").ChatMessage[];
|
|
62
62
|
readonly participants: readonly import("../types/ChatParticipant").ChatParticipant[];
|
|
63
|
-
}) =>
|
|
63
|
+
}) => Uint8Array;
|
|
64
64
|
readonly mimeType: "application/pdf";
|
|
65
65
|
readonly fileExtension: "pdf";
|
|
66
66
|
}];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ChatMessage } from '../../types/ChatMessage';
|
|
2
|
+
import type { ChatParticipant } from '../../types/ChatParticipant';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a minimal PDF representation of the provided chat.
|
|
5
|
+
*
|
|
6
|
+
* @param messages - Messages that should be included in the PDF export.
|
|
7
|
+
* @param participants - Optional participant metadata to resolve sender names.
|
|
8
|
+
* @returns Binary data for the generated PDF file.
|
|
9
|
+
* @private Internal helper used by `pdfSaveFormatDefinition`.
|
|
10
|
+
*/
|
|
11
|
+
export declare function buildChatPdf(messages: ReadonlyArray<ChatMessage>, participants?: ReadonlyArray<ChatParticipant>): Uint8Array;
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
export declare const pdfSaveFormatDefinition: {
|
|
7
7
|
readonly formatName: "pdf";
|
|
8
8
|
readonly label: "Pdf";
|
|
9
|
-
readonly getContent: (
|
|
9
|
+
readonly getContent: ({ messages, participants }: {
|
|
10
10
|
readonly title: string;
|
|
11
11
|
readonly messages: readonly import("../../types/ChatMessage").ChatMessage[];
|
|
12
12
|
readonly participants: readonly import("../../types/ChatParticipant").ChatParticipant[];
|
|
13
|
-
}) =>
|
|
13
|
+
}) => Uint8Array;
|
|
14
14
|
readonly mimeType: "application/pdf";
|
|
15
15
|
readonly fileExtension: "pdf";
|
|
16
16
|
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Segment representing parts of a chat message that contain either raw text or an image prompt.
|
|
3
|
+
*
|
|
4
|
+
* @private internal helper of `<ChatMessageItem/>`
|
|
5
|
+
*/
|
|
6
|
+
export type ImagePromptSegment = ImagePromptTextSegment | ImagePromptImageSegment;
|
|
7
|
+
/**
|
|
8
|
+
* Raw text segment that can be rendered as markdown.
|
|
9
|
+
*
|
|
10
|
+
* @private internal helper of `<ChatMessageItem/>`
|
|
11
|
+
*/
|
|
12
|
+
export type ImagePromptTextSegment = {
|
|
13
|
+
type: 'text';
|
|
14
|
+
content: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Image prompt segment that needs to fire the image generation pipeline.
|
|
18
|
+
*
|
|
19
|
+
* @private internal helper of `<ChatMessageItem/>`
|
|
20
|
+
*/
|
|
21
|
+
export type ImagePromptImageSegment = {
|
|
22
|
+
type: 'image';
|
|
23
|
+
/**
|
|
24
|
+
* Accessible alt text provided by the agent.
|
|
25
|
+
*/
|
|
26
|
+
alt: string;
|
|
27
|
+
/**
|
|
28
|
+
* Prompt text that will be sent to the image generation API.
|
|
29
|
+
*/
|
|
30
|
+
prompt: string;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Splits a chat message into text and image prompt segments.
|
|
34
|
+
*
|
|
35
|
+
* @param content - Raw markdown string produced by the agent.
|
|
36
|
+
* @returns Ordered list of segments that preserves the original message flow.
|
|
37
|
+
* @private internal helper of `<ChatMessageItem/>`
|
|
38
|
+
*/
|
|
39
|
+
export declare function splitMessageContentByImagePrompts(content: string): ReadonlyArray<ImagePromptSegment>;
|
|
40
|
+
/**
|
|
41
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
42
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,5 +1,63 @@
|
|
|
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
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
5
|
+
/**
|
|
6
|
+
* Memory record returned by runtime adapters.
|
|
7
|
+
*
|
|
8
|
+
* @private internal MEMORY commitment types
|
|
9
|
+
*/
|
|
10
|
+
export type MemoryToolRecord = {
|
|
11
|
+
id?: string;
|
|
12
|
+
content: string;
|
|
13
|
+
isGlobal: boolean;
|
|
14
|
+
createdAt?: string;
|
|
15
|
+
updatedAt?: string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Runtime context for MEMORY tools resolved from hidden tool arguments.
|
|
19
|
+
*
|
|
20
|
+
* @private internal MEMORY commitment types
|
|
21
|
+
*/
|
|
22
|
+
export type MemoryToolRuntimeContext = {
|
|
23
|
+
readonly enabled: boolean;
|
|
24
|
+
readonly userId?: number;
|
|
25
|
+
readonly username?: string;
|
|
26
|
+
readonly agentId?: string;
|
|
27
|
+
readonly agentName?: string;
|
|
28
|
+
readonly isTeamConversation: boolean;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Runtime adapter interface used by MEMORY tools.
|
|
32
|
+
*
|
|
33
|
+
* @private internal MEMORY commitment types
|
|
34
|
+
*/
|
|
35
|
+
export type MemoryToolRuntimeAdapter = {
|
|
36
|
+
retrieveMemories(args: {
|
|
37
|
+
query?: string;
|
|
38
|
+
limit?: number;
|
|
39
|
+
}, runtimeContext: MemoryToolRuntimeContext): Promise<MemoryToolRecord[]>;
|
|
40
|
+
storeMemory(args: {
|
|
41
|
+
content: string;
|
|
42
|
+
isGlobal: boolean;
|
|
43
|
+
}, runtimeContext: MemoryToolRuntimeContext): Promise<MemoryToolRecord>;
|
|
44
|
+
updateMemory(args: {
|
|
45
|
+
memoryId: string;
|
|
46
|
+
content: string;
|
|
47
|
+
isGlobal?: boolean;
|
|
48
|
+
}, runtimeContext: MemoryToolRuntimeContext): Promise<MemoryToolRecord>;
|
|
49
|
+
deleteMemory(args: {
|
|
50
|
+
memoryId: string;
|
|
51
|
+
}, runtimeContext: MemoryToolRuntimeContext): Promise<{
|
|
52
|
+
id?: string;
|
|
53
|
+
}>;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Sets runtime adapter used by MEMORY commitment tools.
|
|
57
|
+
*
|
|
58
|
+
* @private internal runtime wiring for MEMORY commitment
|
|
59
|
+
*/
|
|
60
|
+
export declare function setMemoryToolRuntimeAdapter(adapter: MemoryToolRuntimeAdapter | null): void;
|
|
3
61
|
/**
|
|
4
62
|
* MEMORY commitment definition
|
|
5
63
|
*
|
|
@@ -19,6 +77,7 @@ import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
|
19
77
|
*/
|
|
20
78
|
export declare class MemoryCommitmentDefinition extends BaseCommitmentDefinition<'MEMORY' | 'MEMORIES'> {
|
|
21
79
|
constructor(type?: 'MEMORY' | 'MEMORIES');
|
|
80
|
+
get requiresContent(): boolean;
|
|
22
81
|
/**
|
|
23
82
|
* Short one-line description of MEMORY.
|
|
24
83
|
*/
|
|
@@ -32,6 +91,14 @@ export declare class MemoryCommitmentDefinition extends BaseCommitmentDefinition
|
|
|
32
91
|
*/
|
|
33
92
|
get documentation(): string;
|
|
34
93
|
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
|
|
94
|
+
/**
|
|
95
|
+
* Gets human-readable titles for MEMORY tool functions.
|
|
96
|
+
*/
|
|
97
|
+
getToolTitles(): Record<string_javascript_name, string>;
|
|
98
|
+
/**
|
|
99
|
+
* Gets MEMORY tool function implementations.
|
|
100
|
+
*/
|
|
101
|
+
getToolFunctions(): Record<string_javascript_name, ToolFunction>;
|
|
35
102
|
}
|
|
36
103
|
/**
|
|
37
104
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { TODO_any } from '../../_packages/types.index';
|
|
2
|
+
/**
|
|
3
|
+
* Prompt parameter key used to pass hidden runtime context to tool execution.
|
|
4
|
+
*
|
|
5
|
+
* @private internal runtime wiring for commitment tools
|
|
6
|
+
*/
|
|
7
|
+
export declare const TOOL_RUNTIME_CONTEXT_PARAMETER = "promptbookToolRuntimeContext";
|
|
8
|
+
/**
|
|
9
|
+
* Hidden argument key used to pass runtime context into individual tool calls.
|
|
10
|
+
*
|
|
11
|
+
* @private internal runtime wiring for commitment tools
|
|
12
|
+
*/
|
|
13
|
+
export declare const TOOL_RUNTIME_CONTEXT_ARGUMENT = "__promptbookToolRuntimeContext";
|
|
14
|
+
/**
|
|
15
|
+
* Runtime context shape shared across commitment tools.
|
|
16
|
+
*
|
|
17
|
+
* @private internal runtime wiring for commitment tools
|
|
18
|
+
*/
|
|
19
|
+
export type ToolRuntimeContext = {
|
|
20
|
+
memory?: {
|
|
21
|
+
enabled?: boolean;
|
|
22
|
+
userId?: number;
|
|
23
|
+
username?: string;
|
|
24
|
+
agentId?: string;
|
|
25
|
+
agentName?: string;
|
|
26
|
+
isTeamConversation?: boolean;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Parses unknown runtime context payload into a normalized object.
|
|
31
|
+
*
|
|
32
|
+
* @private internal runtime wiring for commitment tools
|
|
33
|
+
*/
|
|
34
|
+
export declare function parseToolRuntimeContext(rawValue: unknown): ToolRuntimeContext | null;
|
|
35
|
+
/**
|
|
36
|
+
* Reads runtime context attached to tool call arguments.
|
|
37
|
+
*
|
|
38
|
+
* @private internal runtime wiring for commitment tools
|
|
39
|
+
*/
|
|
40
|
+
export declare function readToolRuntimeContextFromToolArgs(args: Record<string, TODO_any>): ToolRuntimeContext | null;
|
|
41
|
+
/**
|
|
42
|
+
* Serializes runtime context for prompt parameters.
|
|
43
|
+
*
|
|
44
|
+
* @private internal runtime wiring for commitment tools
|
|
45
|
+
*/
|
|
46
|
+
export declare function serializeToolRuntimeContext(context: ToolRuntimeContext): string;
|
|
47
|
+
/**
|
|
48
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
49
|
+
*/
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keep-alive helpers used for streaming chat responses.
|
|
3
|
+
*
|
|
4
|
+
* These constants coordinate the signal sent by the Agents Server streaming
|
|
5
|
+
* endpoint and the parser in the SDK so we can distinguish between
|
|
6
|
+
* real content and occasional pings.
|
|
7
|
+
*
|
|
8
|
+
* @private internal streaming helper for Promptbook chat connections
|
|
9
|
+
*/
|
|
10
|
+
export declare const CHAT_STREAM_KEEP_ALIVE_TOKEN = "STREAM_KEEP_ALIVE";
|
|
11
|
+
/**
|
|
12
|
+
* Interval (milliseconds) between keep-alive pings emitted while the chat server
|
|
13
|
+
* is still composing the reply.
|
|
14
|
+
*
|
|
15
|
+
* @private internal streaming helper for Promptbook chat connections
|
|
16
|
+
*/
|
|
17
|
+
export declare const CHAT_STREAM_KEEP_ALIVE_INTERVAL_MS = 25000;
|
|
18
|
+
/**
|
|
19
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
20
|
+
*/
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds a tool invocation script that injects hidden runtime context into tool args.
|
|
3
|
+
*
|
|
4
|
+
* @private utility of OpenAI tool execution wrappers
|
|
5
|
+
*/
|
|
6
|
+
export declare function buildToolInvocationScript(options: {
|
|
7
|
+
readonly functionName: string;
|
|
8
|
+
readonly functionArgsExpression: string;
|
|
9
|
+
}): string;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP header used by Promptbook clients to advertise their release version.
|
|
3
|
+
*
|
|
4
|
+
* @public exported from `@promptbook/utils`
|
|
5
|
+
*/
|
|
6
|
+
export declare const CLIENT_VERSION_HEADER = "x-promptbook-client-version";
|
|
7
|
+
/**
|
|
8
|
+
* The latest client (engine) version that the server expects.
|
|
9
|
+
*
|
|
10
|
+
* @public exported from `@promptbook/utils`
|
|
11
|
+
*/
|
|
12
|
+
export declare const CLIENT_LATEST_VERSION: string;
|
|
13
|
+
/**
|
|
14
|
+
* Determines if the provided version string exactly matches the latest release.
|
|
15
|
+
*
|
|
16
|
+
* @param version - Version string obtained from a request header.
|
|
17
|
+
* @returns True when the version equals `CLIENT_LATEST_VERSION`.
|
|
18
|
+
*
|
|
19
|
+
* @public exported from `@promptbook/utils`
|
|
20
|
+
*/
|
|
21
|
+
export declare function isClientVersionCompatible(version: unknown): version is string;
|
|
22
|
+
/**
|
|
23
|
+
* Formats the message that should be shown when a client is out of date.
|
|
24
|
+
*
|
|
25
|
+
* @param clientVersion - The version reported by the client (optional).
|
|
26
|
+
* @returns User-facing text explaining how to fix the mismatch.
|
|
27
|
+
*
|
|
28
|
+
* @public exported from `@promptbook/utils`
|
|
29
|
+
*/
|
|
30
|
+
export declare function formatClientVersionMismatchMessage(clientVersion?: string | null): string;
|
|
31
|
+
/**
|
|
32
|
+
* Creates a headers object that includes the client version header.
|
|
33
|
+
*
|
|
34
|
+
* @param headers - Optional base headers to clone.
|
|
35
|
+
* @returns New headers object augmented with `CLIENT_VERSION_HEADER`.
|
|
36
|
+
*
|
|
37
|
+
* @public exported from `@promptbook/utils`
|
|
38
|
+
*/
|
|
39
|
+
export declare function attachClientVersionHeader<T extends Record<string, string> = Record<string, string>>(headers?: T): T & Record<typeof CLIENT_VERSION_HEADER, string>;
|
|
40
|
+
/**
|
|
41
|
+
* Normalizes the client version reported inside a `HeadersInit` object.
|
|
42
|
+
*
|
|
43
|
+
* @param headers - Headers collection to read from.
|
|
44
|
+
* @returns The trimmed client version or `null` when it is missing.
|
|
45
|
+
*
|
|
46
|
+
* @public exported from `@promptbook/utils`
|
|
47
|
+
*/
|
|
48
|
+
export declare function getClientVersionFromHeaders(headers?: HeadersInit): string | null;
|
|
49
|
+
/**
|
|
50
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
51
|
+
*/
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
|
-
import type { string_data_url, string_filename } from '../../types/typeAliases';
|
|
3
|
+
import type { string_data_url, string_filename, string_knowledge_source_link } from '../../types/typeAliases';
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* @private thing of inline knowledge
|
|
5
|
+
* @private Internal representation of inline knowledge prepared for uploads.
|
|
8
6
|
*/
|
|
9
7
|
export type InlineKnowledgeSourceFile = {
|
|
10
8
|
readonly filename: string_filename;
|
|
11
9
|
readonly mimeType: string;
|
|
12
|
-
readonly
|
|
10
|
+
readonly buffer: Buffer;
|
|
13
11
|
};
|
|
14
12
|
/**
|
|
15
|
-
*
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
* @private Function signature used to upload inline knowledge files to external storage.
|
|
14
|
+
*/
|
|
15
|
+
export type InlineKnowledgeSourceUploader = (file: InlineKnowledgeSourceFile) => Promise<string_knowledge_source_link>;
|
|
16
|
+
/**
|
|
17
|
+
* @private Converts inline knowledge into the internal metadata form used for uploads.
|
|
18
18
|
*/
|
|
19
19
|
export declare function createInlineKnowledgeSourceFile(content: string): InlineKnowledgeSourceFile;
|
|
20
20
|
/**
|
|
@@ -23,10 +23,14 @@ export declare function createInlineKnowledgeSourceFile(content: string): Inline
|
|
|
23
23
|
* @private thing of inline knowledge
|
|
24
24
|
*/
|
|
25
25
|
export declare function isDataUrlKnowledgeSource(source: string): source is string_data_url;
|
|
26
|
+
/**
|
|
27
|
+
* @private Converts a stored inline knowledge file into a data URL for backwards compatibility.
|
|
28
|
+
*/
|
|
29
|
+
export declare function inlineKnowledgeSourceToDataUrl(source: InlineKnowledgeSourceFile): string_knowledge_source_link;
|
|
26
30
|
/**
|
|
27
31
|
* Parses a data URL-based knowledge source into its raw buffer, filename, and MIME type.
|
|
28
32
|
*
|
|
29
|
-
* @private
|
|
33
|
+
* @private utility of inline knowledge processing
|
|
30
34
|
*/
|
|
31
35
|
export declare function parseDataUrlKnowledgeSource(source: string): {
|
|
32
36
|
readonly buffer: Buffer;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constructs a standardized filename for a generated image based on its prompt and parameters.
|
|
3
|
+
*
|
|
4
|
+
* @param params - The parameters for the image generation
|
|
5
|
+
* @returns The constructed filename
|
|
6
|
+
*
|
|
7
|
+
* @private internal helper for image generation pipeline
|
|
8
|
+
*/
|
|
9
|
+
export declare function constructImageFilename(params: {
|
|
10
|
+
prompt: string;
|
|
11
|
+
model?: string;
|
|
12
|
+
size?: string;
|
|
13
|
+
quality?: string;
|
|
14
|
+
style?: string;
|
|
15
|
+
attachments?: Array<{
|
|
16
|
+
url: string;
|
|
17
|
+
}>;
|
|
18
|
+
}): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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.110.0
|
|
18
|
+
* It follows semantic versioning (e.g., `0.110.0`).
|
|
19
19
|
*
|
|
20
20
|
* @generated
|
|
21
21
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@promptbook/node",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.111.0-0",
|
|
4
4
|
"description": "Promptbook: Turn your company's scattered knowledge into AI ready books",
|
|
5
5
|
"private": false,
|
|
6
6
|
"sideEffects": false,
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
"module": "./esm/index.es.js",
|
|
97
97
|
"typings": "./esm/typings/src/_packages/node.index.d.ts",
|
|
98
98
|
"peerDependencies": {
|
|
99
|
-
"@promptbook/core": "0.
|
|
99
|
+
"@promptbook/core": "0.111.0-0"
|
|
100
100
|
},
|
|
101
101
|
"dependencies": {
|
|
102
102
|
"@mozilla/readability": "0.6.0",
|