@promptbook/cli 0.112.0-96 → 0.112.0-98
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/apps/agents-server/playwright.config.ts +2 -1
- package/apps/agents-server/src/app/admin/cli-access/CliAccessClient.tsx +99 -0
- package/apps/agents-server/src/app/admin/cli-access/page.tsx +14 -0
- package/apps/agents-server/src/app/admin/code-runners/CodeRunnersClient.tsx +124 -34
- package/apps/agents-server/src/app/admin/servers/CreateServerDialog.tsx +46 -505
- package/apps/agents-server/src/app/admin/servers/ServersClient.tsx +23 -11
- package/apps/agents-server/src/app/admin/servers/ServersRegistryApi.ts +5 -0
- package/apps/agents-server/src/app/admin/servers/ServersRegistryDnsTypes.ts +87 -0
- package/apps/agents-server/src/app/admin/servers/ServersRegistryTable.tsx +258 -128
- package/apps/agents-server/src/app/admin/servers/useCreateServerWizard.ts +46 -334
- package/apps/agents-server/src/app/admin/servers/useServersRegistryState.ts +26 -2
- package/apps/agents-server/src/app/admin/update/UpdateClient.tsx +435 -0
- package/apps/agents-server/src/app/admin/update/page.tsx +14 -0
- package/apps/agents-server/src/app/agents/[agentName]/chat/CanonicalAgentChatSurface.tsx +24 -0
- package/apps/agents-server/src/app/api/admin/cli-access/route.ts +137 -0
- package/apps/agents-server/src/app/api/admin/code-runners/authentication/route.ts +140 -0
- package/apps/agents-server/src/app/api/admin/code-runners/route.ts +4 -35
- package/apps/agents-server/src/app/api/admin/servers/[serverId]/route.ts +7 -2
- package/apps/agents-server/src/app/api/admin/servers/route.ts +95 -4
- package/apps/agents-server/src/app/api/admin/update/route.ts +52 -0
- package/apps/agents-server/src/app/api/auth/login/route.ts +8 -0
- package/apps/agents-server/src/app/api/auth/logout/route.ts +10 -2
- package/apps/agents-server/src/app/api/chat/export/pdf/route.ts +63 -0
- package/apps/agents-server/src/app/page.tsx +10 -0
- package/apps/agents-server/src/components/AdminTerminal/AdminTerminalCard.tsx +279 -0
- package/apps/agents-server/src/components/AdminTerminal/useAdminTerminalSession.ts +336 -0
- package/apps/agents-server/src/components/Header/buildHeaderSystemMenuItems.ts +10 -0
- package/apps/agents-server/src/languages/ServerTranslationKeys.ts +2 -0
- package/apps/agents-server/src/languages/translations/czech.yaml +2 -0
- package/apps/agents-server/src/languages/translations/english.yaml +2 -0
- package/apps/agents-server/src/middleware.ts +32 -0
- package/apps/agents-server/src/tools/BrowserConnectionProvider.ts +1 -1
- package/apps/agents-server/src/utils/chatExport/downloadChatPdfFromServer.ts +59 -0
- package/apps/agents-server/src/utils/chatExport/renderHtmlToPdfOnServer.ts +37 -0
- package/apps/agents-server/src/utils/codeRunnerAuthentication.ts +234 -0
- package/apps/agents-server/src/utils/codeRunnerConfiguration.ts +67 -0
- package/apps/agents-server/src/utils/createInteractiveTerminalEventStream.ts +84 -0
- package/apps/agents-server/src/utils/interactiveTerminalSession.ts +442 -0
- package/apps/agents-server/src/utils/serverCliAccess.ts +221 -0
- package/apps/agents-server/src/utils/serverManagement/standaloneVpsServerMetadata.ts +145 -0
- package/apps/agents-server/src/utils/serverRegistry.ts +3 -2
- package/apps/agents-server/src/utils/session.ts +37 -9
- package/apps/agents-server/src/utils/shibboleth/createShibbolethAuthenticationLogPayload.ts +173 -0
- package/apps/agents-server/src/utils/shibboleth/writeShibbolethAuthenticationLog.ts +27 -0
- package/apps/agents-server/src/utils/standaloneVpsDnsDiagnostics.ts +258 -0
- package/apps/agents-server/src/utils/standaloneVpsRawIpBootstrap.ts +87 -0
- package/apps/agents-server/src/utils/vpsConfiguration.ts +87 -13
- package/apps/agents-server/src/utils/vpsSelfUpdate.ts +664 -0
- package/esm/apps/agents-server/src/utils/serverRegistry.d.ts +1 -1
- package/esm/index.es.js +7 -5
- package/esm/index.es.js.map +1 -1
- package/esm/src/book-components/Chat/Chat/ChatActionsBar.d.ts +2 -0
- package/esm/src/book-components/Chat/Chat/ChatProps.d.ts +6 -0
- package/esm/src/book-components/Chat/save/_common/ChatSaveFormatHandler.d.ts +35 -0
- package/esm/src/book-components/Chat/save/_common/createChatExportFilename.d.ts +11 -0
- package/esm/src/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/book-components/Chat/Chat/Chat.tsx +2 -0
- package/src/book-components/Chat/Chat/ChatActionsBar.tsx +17 -9
- package/src/book-components/Chat/Chat/ChatProps.tsx +7 -0
- package/src/book-components/Chat/save/_common/ChatSaveFormatHandler.ts +40 -0
- package/src/book-components/Chat/save/_common/createChatExportFilename.ts +20 -0
- package/src/book-components/Chat/utils/renderMarkdown.ts +1 -3
- package/src/other/templates/getTemplatesPipelineCollection.ts +718 -790
- package/src/scrapers/document/DocumentScraper.ts +1 -1
- package/src/scrapers/document-legacy/LegacyDocumentScraper.ts +1 -1
- package/src/version.ts +2 -2
- package/src/versions.txt +2 -0
- package/umd/apps/agents-server/src/utils/serverRegistry.d.ts +1 -1
- package/umd/index.umd.js +7 -5
- package/umd/index.umd.js.map +1 -1
- package/umd/src/book-components/Chat/Chat/ChatActionsBar.d.ts +2 -0
- package/umd/src/book-components/Chat/Chat/ChatProps.d.ts +6 -0
- package/umd/src/book-components/Chat/save/_common/ChatSaveFormatHandler.d.ts +35 -0
- package/umd/src/book-components/Chat/save/_common/createChatExportFilename.d.ts +11 -0
- package/umd/src/version.d.ts +1 -1
- package/src/conversion/validation/_importPipeline.ts +0 -88
- /package/esm/src/conversion/validation/{_importPipeline.d.ts → _importPipeline.test.d.ts} +0 -0
- /package/umd/src/conversion/validation/{_importPipeline.d.ts → _importPipeline.test.d.ts} +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type MouseEvent, type MutableRefObject, type ReactNode } from 'react';
|
|
2
2
|
import type { Promisable } from 'type-fest';
|
|
3
|
+
import type { ChatSaveFormatHandlerMap } from '../save/_common/ChatSaveFormatHandler';
|
|
3
4
|
import type { string_chat_format_name } from '../save/_common/string_chat_format_name';
|
|
4
5
|
import type { ChatMessage } from '../types/ChatMessage';
|
|
5
6
|
import type { ChatParticipant } from '../types/ChatParticipant';
|
|
@@ -27,6 +28,7 @@ export type ChatActionsBarProps = {
|
|
|
27
28
|
onUseTemplate?: () => void;
|
|
28
29
|
extraActions?: ReactNode;
|
|
29
30
|
saveFormats?: Array<string_chat_format_name>;
|
|
31
|
+
saveFormatHandlers?: ChatSaveFormatHandlerMap;
|
|
30
32
|
isSaveButtonEnabled: boolean;
|
|
31
33
|
shouldFadeActions: boolean;
|
|
32
34
|
/**
|
|
@@ -8,6 +8,7 @@ import type { AgentChipData } from '../AgentChip/AgentChip';
|
|
|
8
8
|
import type { string_chat_format_name } from '../save/_common/string_chat_format_name';
|
|
9
9
|
import type { ChatMessage } from '../types/ChatMessage';
|
|
10
10
|
import type { ChatParticipant } from '../types/ChatParticipant';
|
|
11
|
+
import type { ChatSaveFormatHandlerMap } from '../save/_common/ChatSaveFormatHandler';
|
|
11
12
|
/**
|
|
12
13
|
* Response data returned by the optional `onFeedback` handler.
|
|
13
14
|
*
|
|
@@ -629,6 +630,11 @@ export type ChatProps = {
|
|
|
629
630
|
* @default * All supported formats (see `string_chat_format_name` type)
|
|
630
631
|
*/
|
|
631
632
|
readonly saveFormats?: Array<string_chat_format_name>;
|
|
633
|
+
/**
|
|
634
|
+
* Optional host-provided handlers that replace the default browser download flow
|
|
635
|
+
* for selected save formats.
|
|
636
|
+
*/
|
|
637
|
+
readonly saveFormatHandlers?: ChatSaveFormatHandlerMap;
|
|
632
638
|
/**
|
|
633
639
|
* Is the writing textarea automatically focused?
|
|
634
640
|
*
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Promisable } from 'type-fest';
|
|
2
|
+
import type { ChatMessage } from '../../types/ChatMessage';
|
|
3
|
+
import type { ChatParticipant } from '../../types/ChatParticipant';
|
|
4
|
+
import type { string_chat_format_name } from './string_chat_format_name';
|
|
5
|
+
/**
|
|
6
|
+
* Serializable chat payload exposed to custom save-format handlers.
|
|
7
|
+
*
|
|
8
|
+
* @private Internal helper for chat save integrations.
|
|
9
|
+
*/
|
|
10
|
+
export type ChatSaveFormatHandlerOptions = {
|
|
11
|
+
/**
|
|
12
|
+
* Exported chat title used by downstream filename or document generation.
|
|
13
|
+
*/
|
|
14
|
+
readonly title: string;
|
|
15
|
+
/**
|
|
16
|
+
* Messages included in the export.
|
|
17
|
+
*/
|
|
18
|
+
readonly messages: ReadonlyArray<ChatMessage>;
|
|
19
|
+
/**
|
|
20
|
+
* Participant metadata included in the export.
|
|
21
|
+
*/
|
|
22
|
+
readonly participants: ReadonlyArray<ChatParticipant>;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Custom handler used to override one chat save format.
|
|
26
|
+
*
|
|
27
|
+
* @private Internal helper for chat save integrations.
|
|
28
|
+
*/
|
|
29
|
+
export type ChatSaveFormatHandler = (options: ChatSaveFormatHandlerOptions) => Promisable<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Optional map of chat save formats handled by the host application.
|
|
32
|
+
*
|
|
33
|
+
* @private Internal helper for chat save integrations.
|
|
34
|
+
*/
|
|
35
|
+
export type ChatSaveFormatHandlerMap = Partial<Record<string_chat_format_name, ChatSaveFormatHandler>>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds one normalized filename for a chat export download.
|
|
3
|
+
*
|
|
4
|
+
* @param title - Human-readable chat title.
|
|
5
|
+
* @param fileExtension - Output file extension without a leading dot.
|
|
6
|
+
* @param date - Export date used in the filename.
|
|
7
|
+
* @returns Stable filename suitable for browser downloads and HTTP headers.
|
|
8
|
+
*
|
|
9
|
+
* @private Internal helper shared by chat export flows.
|
|
10
|
+
*/
|
|
11
|
+
export declare function createChatExportFilename(title: string, fileExtension: string, date?: Date): string;
|
package/umd/src/version.d.ts
CHANGED
|
@@ -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.112.0-
|
|
18
|
+
* It follows semantic versioning (e.g., `0.112.0-97`).
|
|
19
19
|
*
|
|
20
20
|
* @generated
|
|
21
21
|
*/
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { readFile } from 'fs/promises';
|
|
2
|
-
import { join } from 'path';
|
|
3
|
-
import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
|
|
4
|
-
import type { PipelineString } from '../../pipeline/PipelineString';
|
|
5
|
-
import { validatePipelineString } from '../../pipeline/validatePipelineString';
|
|
6
|
-
import { unpreparePipeline } from '../../prepare/unpreparePipeline';
|
|
7
|
-
import { $provideFilesystemForNode } from '../../scrapers/_common/register/$provideFilesystemForNode';
|
|
8
|
-
import type { string_filename } from '../../types/string_filename';
|
|
9
|
-
import { loadArchive } from '../archive/loadArchive';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Import the pipeline.book or pipeline.bookc file
|
|
13
|
-
*
|
|
14
|
-
* Note: Using here custom import to work in jest tests
|
|
15
|
-
* Note: Using sync version is 💩 in the production code, but it's ok here in tests
|
|
16
|
-
*
|
|
17
|
-
* @param path - The path to the file relative to examples/pipelines directory
|
|
18
|
-
*
|
|
19
|
-
* @private internal function of tests
|
|
20
|
-
*/
|
|
21
|
-
export async function importPipelineWithoutPreparation(path: `${string}.book`): Promise<PipelineString>;
|
|
22
|
-
/**
|
|
23
|
-
* Imports pipeline without preparation.
|
|
24
|
-
*
|
|
25
|
-
* @private internal utility of `_importPipeline`
|
|
26
|
-
*/
|
|
27
|
-
export async function importPipelineWithoutPreparation(path: `${string}.bookc`): Promise<PipelineJson>;
|
|
28
|
-
/**
|
|
29
|
-
* Imports pipeline without preparation.
|
|
30
|
-
*
|
|
31
|
-
* @private internal utility of `_importPipeline`
|
|
32
|
-
*/
|
|
33
|
-
export async function importPipelineWithoutPreparation(path: string_filename): Promise<PipelineString | PipelineJson> {
|
|
34
|
-
const examplesDir = '../../../examples/pipelines'; // <- TODO: [🚏] DRY, to config
|
|
35
|
-
const filePath = join(__dirname, examplesDir, path);
|
|
36
|
-
|
|
37
|
-
if (path.endsWith('.bookc')) {
|
|
38
|
-
const pipelines = await loadArchive(filePath, $provideFilesystemForNode());
|
|
39
|
-
|
|
40
|
-
if (pipelines.length !== 1) {
|
|
41
|
-
throw new Error('The archive must contain exactly one pipeline');
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
let pipeline = pipelines[0]!;
|
|
45
|
-
|
|
46
|
-
pipeline = unpreparePipeline(pipeline);
|
|
47
|
-
return pipeline;
|
|
48
|
-
} else if (path.endsWith('.book')) {
|
|
49
|
-
const content = await readFile(filePath, 'utf-8');
|
|
50
|
-
|
|
51
|
-
return validatePipelineString(content);
|
|
52
|
-
} else {
|
|
53
|
-
throw new Error('This should be used only for .book.md or .bookc files');
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Import the pipeline.bookc file as parsed JSON
|
|
59
|
-
*
|
|
60
|
-
* @private internal function of tests
|
|
61
|
-
*/
|
|
62
|
-
export async function importPipelineJson(path: `${string}.bookc`): Promise<PipelineJson> {
|
|
63
|
-
const examplesDir = '../../../examples/pipelines'; // <- TODO: [🚏] DRY, to config
|
|
64
|
-
|
|
65
|
-
const pipelines = await loadArchive(join(__dirname, examplesDir, path), $provideFilesystemForNode());
|
|
66
|
-
|
|
67
|
-
if (pipelines.length !== 1) {
|
|
68
|
-
throw new Error('The archive must contain exactly one pipeline');
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
const pipeline = pipelines[0]!;
|
|
72
|
-
|
|
73
|
-
return pipeline;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/*
|
|
77
|
-
TODO: [👩🏽🤝🧑🏾]
|
|
78
|
-
/**
|
|
79
|
-
* Import the pipeline.bookc file as string
|
|
80
|
-
*
|
|
81
|
-
* @private internal function of tests
|
|
82
|
-
* /
|
|
83
|
-
ex_port async function importPipelineJsonAsString(path: `${string}.bookc`): Promise<string_json<PipelineJson>> {
|
|
84
|
-
}
|
|
85
|
-
*/
|
|
86
|
-
|
|
87
|
-
// Note: [⚫] Code for private pipeline import shim [_importPipeline](src/conversion/validation/_importPipeline.ts) should never be published in any package
|
|
88
|
-
// Note: [💞] Ignore a discrepancy between file name and entity name
|
|
File without changes
|
|
File without changes
|