@promptbook/components 0.104.0-0 → 0.104.0-2
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/esm/index.es.js +386 -145
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/_packages/types.index.d.ts +6 -2
- package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +6 -1
- package/esm/typings/src/book-components/Chat/Chat/ChatMessageItem.d.ts +5 -1
- package/esm/typings/src/book-components/Chat/Chat/ChatProps.d.ts +5 -0
- package/esm/typings/src/book-components/Chat/CodeBlock/CodeBlock.d.ts +13 -0
- package/esm/typings/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +1 -0
- package/esm/typings/src/book-components/_common/Dropdown/Dropdown.d.ts +2 -2
- package/esm/typings/src/book-components/_common/MenuHoisting/MenuHoistingContext.d.ts +56 -0
- package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +13 -7
- package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentsDatabaseSchema.d.ts +6 -0
- package/esm/typings/src/commitments/DICTIONARY/DICTIONARY.d.ts +46 -0
- package/esm/typings/src/commitments/index.d.ts +2 -1
- package/esm/typings/src/llm-providers/ollama/OllamaExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/openai/createOpenAiCompatibleExecutionTools.d.ts +1 -1
- package/esm/typings/src/types/typeAliases.d.ts +12 -0
- package/esm/typings/src/utils/environment/$detectRuntimeEnvironment.d.ts +4 -4
- package/esm/typings/src/utils/environment/$isRunningInBrowser.d.ts +1 -1
- package/esm/typings/src/utils/environment/$isRunningInJest.d.ts +1 -1
- package/esm/typings/src/utils/environment/$isRunningInNode.d.ts +1 -1
- package/esm/typings/src/utils/environment/$isRunningInWebWorker.d.ts +1 -1
- package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +2 -2
- package/esm/typings/src/utils/markdown/extractOneBlockFromMarkdown.d.ts +2 -2
- package/esm/typings/src/utils/random/$randomBase58.d.ts +12 -0
- package/esm/typings/src/version.d.ts +1 -1
- package/package.json +1 -2
- package/umd/index.umd.js +394 -154
- package/umd/index.umd.js.map +1 -1
package/umd/index.umd.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react/jsx-runtime'), require('react'), require('spacetrim'), require('crypto-js'), require('crypto-js/enc-hex'), require('path'), require('crypto'), require('react-dom'), require('@monaco-editor/react'), require('destroyable'), require('
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', 'react/jsx-runtime', 'react', 'spacetrim', 'crypto-js', 'crypto-js/enc-hex', 'path', 'crypto', 'react-dom', '@monaco-editor/react', 'destroyable', '
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["promptbook-components"] = {}, global.jsxRuntime, global.react, global.spaceTrim$1, global.cryptoJs, global.hexEncoder, global.path, global.crypto, global.reactDom, global.Editor, global.destroyable, global.
|
|
5
|
-
})(this, (function (exports, jsxRuntime, react, spaceTrim$1, cryptoJs, hexEncoder, path, crypto, reactDom, Editor, destroyable,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react/jsx-runtime'), require('react'), require('spacetrim'), require('crypto-js'), require('crypto-js/enc-hex'), require('path'), require('crypto'), require('react-dom'), require('@monaco-editor/react'), require('destroyable'), require('katex'), require('react-dom/client'), require('showdown'), require('rxjs'), require('waitasecond'), require('crypto-js/sha256'), require('mime-types'), require('papaparse'), require('colors'), require('bottleneck'), require('openai'), require('qrcode')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'react/jsx-runtime', 'react', 'spacetrim', 'crypto-js', 'crypto-js/enc-hex', 'path', 'crypto', 'react-dom', '@monaco-editor/react', 'destroyable', 'katex', 'react-dom/client', 'showdown', 'rxjs', 'waitasecond', 'crypto-js/sha256', 'mime-types', 'papaparse', 'colors', 'bottleneck', 'openai', 'qrcode'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["promptbook-components"] = {}, global.jsxRuntime, global.react, global.spaceTrim$1, global.cryptoJs, global.hexEncoder, global.path, global.crypto, global.reactDom, global.Editor, global.destroyable, global.katex, global.client, global.showdown, global.rxjs, global.waitasecond, global.sha256, global.mimeTypes, global.papaparse, global.colors, global.Bottleneck, global.OpenAI, global.QRCode));
|
|
5
|
+
})(this, (function (exports, jsxRuntime, react, spaceTrim$1, cryptoJs, hexEncoder, path, crypto, reactDom, Editor, destroyable, katex, client, showdown, rxjs, waitasecond, sha256, mimeTypes, papaparse, colors, Bottleneck, OpenAI, QRCode) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
9
9
|
var spaceTrim__default = /*#__PURE__*/_interopDefaultLegacy(spaceTrim$1);
|
|
10
10
|
var hexEncoder__default = /*#__PURE__*/_interopDefaultLegacy(hexEncoder);
|
|
11
11
|
var Editor__default = /*#__PURE__*/_interopDefaultLegacy(Editor);
|
|
12
|
-
var hljs__default = /*#__PURE__*/_interopDefaultLegacy(hljs);
|
|
13
12
|
var katex__default = /*#__PURE__*/_interopDefaultLegacy(katex);
|
|
14
13
|
var sha256__default = /*#__PURE__*/_interopDefaultLegacy(sha256);
|
|
15
14
|
var colors__default = /*#__PURE__*/_interopDefaultLegacy(colors);
|
|
@@ -31,7 +30,7 @@
|
|
|
31
30
|
* @generated
|
|
32
31
|
* @see https://github.com/webgptorg/promptbook
|
|
33
32
|
*/
|
|
34
|
-
const PROMPTBOOK_ENGINE_VERSION = '0.104.0-
|
|
33
|
+
const PROMPTBOOK_ENGINE_VERSION = '0.104.0-2';
|
|
35
34
|
/**
|
|
36
35
|
* TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
|
|
37
36
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
@@ -80,9 +79,9 @@
|
|
|
80
79
|
}
|
|
81
80
|
}
|
|
82
81
|
|
|
83
|
-
var css_248z$
|
|
84
|
-
var styles$
|
|
85
|
-
styleInject(css_248z$
|
|
82
|
+
var css_248z$a = ".AvatarChip-module_AvatarChip__4sA0u{align-items:center;background:#e0e7ef;border:1px solid #b3c2d1;border-radius:16px;color:#2a3b4d;cursor:pointer;display:inline-flex;font-size:.95em;font-weight:500;margin:2px;padding:4px 12px}.AvatarChip-module_Avatar__mN2sc{border-radius:50%;height:24px;margin-right:8px;object-fit:cover;width:24px}.AvatarChip-module_TemplateLabel__-7vVI{background:#f0f4f8;border-radius:12px;color:#3a4752;font-size:.8em;margin-left:8px;margin-right:0;padding:2px 6px;text-transform:uppercase}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkF2YXRhckNoaXAubW9kdWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQ0FFSSxrQkFBbUIsQ0FHbkIsa0JBQW1CLENBS25CLHdCQUF5QixDQU56QixrQkFBbUIsQ0FFbkIsYUFBYyxDQU1kLGNBQWUsQ0FYZixtQkFBb0IsQ0FPcEIsZUFBaUIsQ0FEakIsZUFBZ0IsQ0FFaEIsVUFBVyxDQU5YLGdCQVVKLENBRUEsaUNBR0ksaUJBQWtCLENBRGxCLFdBQVksQ0FHWixnQkFBaUIsQ0FEakIsZ0JBQWlCLENBSGpCLFVBS0osQ0FFQSx3Q0FDSSxrQkFBbUIsQ0FJbkIsa0JBQW1CLENBSG5CLGFBQWMsQ0FDZCxjQUFnQixDQUdoQixlQUFnQixDQUNoQixjQUFlLENBSGYsZUFBZ0IsQ0FJaEIsd0JBQ0oiLCJmaWxlIjoiQXZhdGFyQ2hpcC5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLkF2YXRhckNoaXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNHB4IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZTBlN2VmO1xuICAgIGNvbG9yOiAjMmEzYjRkO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAwLjk1ZW07XG4gICAgbWFyZ2luOiAycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IzYzJkMTtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLkF2YXRhciB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLlRlbXBsYXRlTGFiZWwge1xuICAgIGJhY2tncm91bmQ6ICNmMGY0Zjg7XG4gICAgY29sb3I6ICMzYTQ3NTI7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBwYWRkaW5nOiAycHggNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiJdfQ== */";
|
|
83
|
+
var styles$9 = {"AvatarChip":"AvatarChip-module_AvatarChip__4sA0u","Avatar":"AvatarChip-module_Avatar__mN2sc","TemplateLabel":"AvatarChip-module_TemplateLabel__-7vVI"};
|
|
84
|
+
styleInject(css_248z$a);
|
|
86
85
|
|
|
87
86
|
/**
|
|
88
87
|
* Shows a chip with avatar's avatar and name
|
|
@@ -92,7 +91,7 @@
|
|
|
92
91
|
function AvatarChip(props) {
|
|
93
92
|
const { avatarBasicInformation, className, onSelect, isSelected, isTemplate } = props;
|
|
94
93
|
const { agentName, meta } = avatarBasicInformation;
|
|
95
|
-
return (jsxRuntime.jsxs("div", { className: classNames(styles$
|
|
94
|
+
return (jsxRuntime.jsxs("div", { className: classNames(styles$9.AvatarChip, className, isSelected ? styles$9.Selected : undefined), onClick: () => onSelect === null || onSelect === void 0 ? void 0 : onSelect(avatarBasicInformation), style: { cursor: onSelect ? 'pointer' : undefined }, children: [jsxRuntime.jsx("img", { src: meta.image, alt: agentName || '', className: styles$9.Avatar }), meta.fullname || agentName, isTemplate && jsxRuntime.jsx("span", { className: styles$9.TemplateLabel, children: "Template" })] }));
|
|
96
95
|
}
|
|
97
96
|
|
|
98
97
|
/**
|
|
@@ -3043,13 +3042,14 @@
|
|
|
3043
3042
|
*
|
|
3044
3043
|
* @public exported from `@promptbook/utils`
|
|
3045
3044
|
*/
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
|
|
3045
|
+
function $isRunningInBrowser() {
|
|
3046
|
+
try {
|
|
3047
|
+
return typeof window !== 'undefined' && typeof window.document !== 'undefined';
|
|
3048
|
+
}
|
|
3049
|
+
catch (e) {
|
|
3050
|
+
return false;
|
|
3051
|
+
}
|
|
3051
3052
|
}
|
|
3052
|
-
`);
|
|
3053
3053
|
/**
|
|
3054
3054
|
* TODO: [🎺]
|
|
3055
3055
|
*/
|
|
@@ -3061,13 +3061,15 @@
|
|
|
3061
3061
|
*
|
|
3062
3062
|
* @public exported from `@promptbook/utils`
|
|
3063
3063
|
*/
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3064
|
+
function $isRunningInJest() {
|
|
3065
|
+
var _a;
|
|
3066
|
+
try {
|
|
3067
|
+
return typeof process !== 'undefined' && ((_a = process.env) === null || _a === void 0 ? void 0 : _a.JEST_WORKER_ID) !== undefined;
|
|
3068
|
+
}
|
|
3069
|
+
catch (e) {
|
|
3070
|
+
return false;
|
|
3071
|
+
}
|
|
3069
3072
|
}
|
|
3070
|
-
`);
|
|
3071
3073
|
/**
|
|
3072
3074
|
* TODO: [🎺]
|
|
3073
3075
|
*/
|
|
@@ -3079,13 +3081,14 @@
|
|
|
3079
3081
|
*
|
|
3080
3082
|
* @public exported from `@promptbook/utils`
|
|
3081
3083
|
*/
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3084
|
+
function $isRunningInNode() {
|
|
3085
|
+
try {
|
|
3086
|
+
return typeof process !== 'undefined' && process.versions != null && process.versions.node != null;
|
|
3087
|
+
}
|
|
3088
|
+
catch (e) {
|
|
3089
|
+
return false;
|
|
3090
|
+
}
|
|
3087
3091
|
}
|
|
3088
|
-
`);
|
|
3089
3092
|
/**
|
|
3090
3093
|
* TODO: [🎺]
|
|
3091
3094
|
*/
|
|
@@ -3097,17 +3100,17 @@
|
|
|
3097
3100
|
*
|
|
3098
3101
|
* @public exported from `@promptbook/utils`
|
|
3099
3102
|
*/
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3103
|
+
function $isRunningInWebWorker() {
|
|
3104
|
+
try {
|
|
3105
|
+
// Note: Check for importScripts which is specific to workers
|
|
3106
|
+
// and not available in the main browser thread
|
|
3107
|
+
return (typeof self !== 'undefined' &&
|
|
3108
|
+
typeof self.importScripts === 'function');
|
|
3109
|
+
}
|
|
3110
|
+
catch (e) {
|
|
3105
3111
|
return false;
|
|
3106
3112
|
}
|
|
3107
|
-
} catch (e) {
|
|
3108
|
-
return false;
|
|
3109
3113
|
}
|
|
3110
|
-
`);
|
|
3111
3114
|
/**
|
|
3112
3115
|
* TODO: [🎺]
|
|
3113
3116
|
*/
|
|
@@ -4123,6 +4126,114 @@
|
|
|
4123
4126
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
4124
4127
|
*/
|
|
4125
4128
|
|
|
4129
|
+
/**
|
|
4130
|
+
* DICTIONARY commitment definition
|
|
4131
|
+
*
|
|
4132
|
+
* The DICTIONARY commitment defines specific terms and their meanings that the agent should use correctly
|
|
4133
|
+
* in its reasoning and responses. This ensures consistent terminology usage.
|
|
4134
|
+
*
|
|
4135
|
+
* Key features:
|
|
4136
|
+
* - Multiple DICTIONARY commitments are automatically merged into one
|
|
4137
|
+
* - Content is placed in a dedicated section of the system message
|
|
4138
|
+
* - Terms and definitions are stored in metadata.DICTIONARY for debugging
|
|
4139
|
+
* - Agent should use the defined terms correctly in responses
|
|
4140
|
+
*
|
|
4141
|
+
* Example usage in agent source:
|
|
4142
|
+
*
|
|
4143
|
+
* ```book
|
|
4144
|
+
* Legal Assistant
|
|
4145
|
+
*
|
|
4146
|
+
* PERSONA You are a knowledgeable legal assistant
|
|
4147
|
+
* DICTIONARY Misdemeanor is a minor wrongdoing or criminal offense
|
|
4148
|
+
* DICTIONARY Felony is a serious crime usually punishable by imprisonment for more than one year
|
|
4149
|
+
* DICTIONARY Tort is a civil wrong that causes harm or loss to another person, leading to legal liability
|
|
4150
|
+
* ```
|
|
4151
|
+
*
|
|
4152
|
+
* @private [🪔] Maybe export the commitments through some package
|
|
4153
|
+
*/
|
|
4154
|
+
class DictionaryCommitmentDefinition extends BaseCommitmentDefinition {
|
|
4155
|
+
constructor() {
|
|
4156
|
+
super('DICTIONARY');
|
|
4157
|
+
}
|
|
4158
|
+
/**
|
|
4159
|
+
* Short one-line description of DICTIONARY.
|
|
4160
|
+
*/
|
|
4161
|
+
get description() {
|
|
4162
|
+
return 'Define terms and their meanings for consistent terminology usage.';
|
|
4163
|
+
}
|
|
4164
|
+
/**
|
|
4165
|
+
* Icon for this commitment.
|
|
4166
|
+
*/
|
|
4167
|
+
get icon() {
|
|
4168
|
+
return '📚';
|
|
4169
|
+
}
|
|
4170
|
+
/**
|
|
4171
|
+
* Markdown documentation for DICTIONARY commitment.
|
|
4172
|
+
*/
|
|
4173
|
+
get documentation() {
|
|
4174
|
+
return spaceTrim$1.spaceTrim(`
|
|
4175
|
+
# DICTIONARY
|
|
4176
|
+
|
|
4177
|
+
Defines specific terms and their meanings that the agent should use correctly in reasoning and responses.
|
|
4178
|
+
|
|
4179
|
+
## Key aspects
|
|
4180
|
+
|
|
4181
|
+
- Multiple \`DICTIONARY\` commitments are merged together.
|
|
4182
|
+
- Terms are defined in the format: "Term is definition"
|
|
4183
|
+
- The agent should use these terms consistently in responses.
|
|
4184
|
+
- Definitions help ensure accurate and consistent terminology.
|
|
4185
|
+
|
|
4186
|
+
## Examples
|
|
4187
|
+
|
|
4188
|
+
\`\`\`book
|
|
4189
|
+
Legal Assistant
|
|
4190
|
+
|
|
4191
|
+
PERSONA You are a knowledgeable legal assistant specializing in criminal law
|
|
4192
|
+
DICTIONARY Misdemeanor is a minor wrongdoing or criminal offense
|
|
4193
|
+
DICTIONARY Felony is a serious crime usually punishable by imprisonment for more than one year
|
|
4194
|
+
DICTIONARY Tort is a civil wrong that causes harm or loss to another person, leading to legal liability
|
|
4195
|
+
\`\`\`
|
|
4196
|
+
|
|
4197
|
+
\`\`\`book
|
|
4198
|
+
Medical Assistant
|
|
4199
|
+
|
|
4200
|
+
PERSONA You are a helpful medical assistant
|
|
4201
|
+
DICTIONARY Hypertension is persistently high blood pressure
|
|
4202
|
+
DICTIONARY Diabetes is a chronic condition that affects how the body processes blood sugar
|
|
4203
|
+
DICTIONARY Vaccine is a biological preparation that provides active immunity to a particular disease
|
|
4204
|
+
\`\`\`
|
|
4205
|
+
`);
|
|
4206
|
+
}
|
|
4207
|
+
applyToAgentModelRequirements(requirements, content) {
|
|
4208
|
+
var _a;
|
|
4209
|
+
const trimmedContent = content.trim();
|
|
4210
|
+
if (!trimmedContent) {
|
|
4211
|
+
return requirements;
|
|
4212
|
+
}
|
|
4213
|
+
// Get existing dictionary entries from metadata
|
|
4214
|
+
const existingDictionary = ((_a = requirements.metadata) === null || _a === void 0 ? void 0 : _a.DICTIONARY) || '';
|
|
4215
|
+
// Merge the new dictionary entry with existing entries
|
|
4216
|
+
const mergedDictionary = existingDictionary
|
|
4217
|
+
? `${existingDictionary}\n${trimmedContent}`
|
|
4218
|
+
: trimmedContent;
|
|
4219
|
+
// Store the merged dictionary in metadata for debugging and inspection
|
|
4220
|
+
const updatedMetadata = {
|
|
4221
|
+
...requirements.metadata,
|
|
4222
|
+
DICTIONARY: mergedDictionary,
|
|
4223
|
+
};
|
|
4224
|
+
// Create the dictionary section for the system message
|
|
4225
|
+
// Format: "# DICTIONARY\nTerm: definition\nTerm: definition..."
|
|
4226
|
+
const dictionarySection = `# DICTIONARY\n${mergedDictionary}`;
|
|
4227
|
+
return {
|
|
4228
|
+
...this.appendToSystemMessage(requirements, dictionarySection),
|
|
4229
|
+
metadata: updatedMetadata,
|
|
4230
|
+
};
|
|
4231
|
+
}
|
|
4232
|
+
}
|
|
4233
|
+
/**
|
|
4234
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
4235
|
+
*/
|
|
4236
|
+
|
|
4126
4237
|
/**
|
|
4127
4238
|
* FORMAT commitment definition
|
|
4128
4239
|
*
|
|
@@ -6943,6 +7054,7 @@
|
|
|
6943
7054
|
new DeleteCommitmentDefinition('CANCEL'),
|
|
6944
7055
|
new DeleteCommitmentDefinition('DISCARD'),
|
|
6945
7056
|
new DeleteCommitmentDefinition('REMOVE'),
|
|
7057
|
+
new DictionaryCommitmentDefinition(),
|
|
6946
7058
|
new OpenCommitmentDefinition(),
|
|
6947
7059
|
new ClosedCommitmentDefinition(),
|
|
6948
7060
|
new UseBrowserCommitmentDefinition(),
|
|
@@ -7234,6 +7346,7 @@
|
|
|
7234
7346
|
return {
|
|
7235
7347
|
agentName: normalizeAgentName(parseResult.agentName || createDefaultAgentName(agentSource)),
|
|
7236
7348
|
agentHash,
|
|
7349
|
+
permanentId: meta.id,
|
|
7237
7350
|
personaDescription,
|
|
7238
7351
|
initialMessage,
|
|
7239
7352
|
meta,
|
|
@@ -7273,9 +7386,9 @@
|
|
|
7273
7386
|
return jsxRuntime.jsx(AvatarChip, { avatarBasicInformation: avatarBasicInformation, ...props });
|
|
7274
7387
|
}
|
|
7275
7388
|
|
|
7276
|
-
var css_248z$
|
|
7277
|
-
var styles$
|
|
7278
|
-
styleInject(css_248z$
|
|
7389
|
+
var css_248z$9 = ".Modal-module_scrim__jKO-A{align-items:center;background-color:rgba(0,0,0,.5);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9000000}.Modal-module_Modal__k49dY{background:#fff;border-radius:8px;max-height:90%;max-width:90%;min-height:30vh;min-width:50vw;overflow:auto;padding:20px;position:relative}.Modal-module_closeButton__dzf6l{background:transparent;border:none;cursor:pointer;font-size:24px;position:absolute;right:10px;top:10px}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk1vZGFsLm1vZHVsZS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBU0ksa0JBQW1CLENBSG5CLCtCQUFvQyxDQUNwQyxZQUFhLENBRmIsV0FBWSxDQUdaLHNCQUF1QixDQUx2QixNQUFPLENBRlAsY0FBZSxDQUNmLEtBQU0sQ0FFTixVQUFXLENBTVgsZUFDSixDQUVBLDJCQUNJLGVBQWlCLENBRWpCLGlCQUFrQixDQUdsQixjQUFlLENBRGYsYUFBYyxDQUdkLGVBQWdCLENBRGhCLGNBQWUsQ0FFZixhQUFjLENBUGQsWUFBYSxDQUViLGlCQU1KLENBRUEsaUNBSUksc0JBQXVCLENBQ3ZCLFdBQVksQ0FFWixjQUFlLENBRGYsY0FBZSxDQUxmLGlCQUFrQixDQUVsQixVQUFXLENBRFgsUUFNSiIsImZpbGUiOiJNb2RhbC5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnNjcmltIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgei1pbmRleDogOTAwMDAwMDtcbn1cblxuLk1vZGFsIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgbWF4LWhlaWdodDogOTAlO1xuICAgIG1pbi13aWR0aDogNTB2dztcbiAgICBtaW4taGVpZ2h0OiAzMHZoO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uY2xvc2VCdXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4iXX0= */";
|
|
7390
|
+
var styles$8 = {"scrim":"Modal-module_scrim__jKO-A","Modal":"Modal-module_Modal__k49dY","closeButton":"Modal-module_closeButton__dzf6l"};
|
|
7391
|
+
styleInject(css_248z$9);
|
|
7279
7392
|
|
|
7280
7393
|
/**
|
|
7281
7394
|
*
|
|
@@ -7293,7 +7406,7 @@
|
|
|
7293
7406
|
window.removeEventListener('keydown', handleKeyDown);
|
|
7294
7407
|
};
|
|
7295
7408
|
}, [onClose]);
|
|
7296
|
-
return reactDom.createPortal(jsxRuntime.jsx("div", { className: styles$
|
|
7409
|
+
return reactDom.createPortal(jsxRuntime.jsx("div", { className: styles$8.scrim, onClick: onClose, children: jsxRuntime.jsxs("div", { className: classNames(styles$8.Modal, className), onClick: (e) => e.stopPropagation(), children: [jsxRuntime.jsx("button", { className: styles$8.closeButton, onClick: onClose, children: "\u00D7" }), children] }) }), document.body);
|
|
7297
7410
|
}
|
|
7298
7411
|
|
|
7299
7412
|
/**
|
|
@@ -7378,9 +7491,9 @@
|
|
|
7378
7491
|
// <- [🐱🚀] Buttons into genesis book
|
|
7379
7492
|
// <- TODO: [🐱🚀] generateBookBoilerplate and deprecate `DEFAULT_BOOK`
|
|
7380
7493
|
|
|
7381
|
-
var css_248z$
|
|
7382
|
-
var styles$
|
|
7383
|
-
styleInject(css_248z$
|
|
7494
|
+
var css_248z$8 = ".BookEditor-module_BookEditor__s-0PU{width:100%}.BookEditor-module_bookEditorContainer__wLMwM{box-sizing:border-box;height:100%;padding:10px 25px 0;position:relative;width:100%}.BookEditor-module_bookEditorContainer__wLMwM.BookEditor-module_isVerbose__VQ6iL{background-color:rgba(0,0,0,.05);outline:1px dotted rgba(0,0,0,.5)}.BookEditor-module_isVerbose__VQ6iL{outline:2px dotted #ff7526}.BookEditor-module_bookEditorWrapper__twppD{background-color:#fff;border:1px solid rgba(209,213,219,.8);border-radius:1rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);overflow:hidden;padding-top:10px;transition:box-shadow .2s ease-in-out}.BookEditor-module_isVerbose__VQ6iL .BookEditor-module_bookEditorWrapper__twppD{overflow:visible}.BookEditor-module_bookEditorWrapper__twppD:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.BookEditor-module_bookEditorWrapper__twppD.BookEditor-module_isBorderRadiusDisabled__h1I3v{border-radius:0}.BookEditor-module_dropOverlay__xWWoX{align-items:center;background-color:rgba(0,0,0,.5);bottom:0;color:#fff;display:flex;font-size:1.5rem;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:100}.BookEditor-module_bookEditorActionbar__KW6dc{position:absolute;right:55px;top:10px;z-index:100}.BookEditor-module_fullscreen__rktsl{border:none;border-radius:0;bottom:0;box-shadow:none;height:100%;left:0;padding-top:50px;position:fixed;right:0;top:0;width:100%;z-index:9999}.BookEditor-module_button__hS390{align-items:center;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);color:#374151;cursor:pointer;display:inline-flex;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease-in-out}.BookEditor-module_button__hS390:hover{background-color:#f9fafb;border-color:#b7bcce;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJvb2tFZGl0b3IubW9kdWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQ0FFSSxVQUNKLENBRUEsOENBS0kscUJBQXNCLENBSHRCLFdBQVksQ0FFWixtQkFBb0IsQ0FEcEIsaUJBQWtCLENBRmxCLFVBS0osQ0FFQSxpRkFFSSxnQ0FBcUMsQ0FDckMsaUNBRUosQ0FFQSxvQ0FDSSwwQkFDSixDQUVBLDRDQUtJLHFCQUF1QixDQUR2QixxQ0FBMEMsQ0FGMUMsa0JBQW1CLENBSW5CLHNDQUEyQyxDQUwzQyxlQUFnQixDQUVoQixnQkFBaUIsQ0FJakIscUNBQ0osQ0FDQSxnRkFFSSxnQkFFSixDQUVBLGtEQUNJLHVFQUNKLENBVUEsNEZBQ0ksZUFDSixDQUVBLHNDQVNJLGtCQUFtQixDQUhuQiwrQkFBb0MsQ0FEcEMsUUFBUyxDQUVULFVBQVksQ0FDWixZQUFhLENBR2IsZ0JBQWlCLENBRGpCLHNCQUF1QixDQVB2QixNQUFPLENBVVAsbUJBQW9CLENBWnBCLGlCQUFrQixDQUdsQixPQUFRLENBRlIsS0FBTSxDQVVOLFdBRUosQ0FRQSw4Q0FDSSxpQkFBa0IsQ0FFbEIsVUFBVyxDQURYLFFBQVMsQ0FFVCxXQUNKLENBRUEscUNBV0ksV0FBWSxDQUZaLGVBQWdCLENBSmhCLFFBQVMsQ0FPVCxlQUFnQixDQUxoQixXQUFZLENBSlosTUFBTyxDQU9QLGdCQUFpQixDQVRqQixjQUFlLENBR2YsT0FBUSxDQUZSLEtBQU0sQ0FJTixVQUFXLENBRVgsWUFLSixDQUVBLGlDQU9JLGtCQUFtQixDQU5uQixxQkFBc0IsQ0FDdEIsd0JBQXlCLENBQ3pCLHFCQUF1QixDQU92QixzQ0FBMkMsQ0FEM0MsYUFBYyxDQUpkLGNBQWUsQ0FDZixtQkFBb0IsQ0FFcEIsU0FBVyxDQUpYLGtCQUFvQixDQU9wQiw4QkFDSixDQUVBLHVDQUNJLHdCQUF5QixDQUN6QixvQkFBcUIsQ0FDckIsaUVBQ0oiLCJmaWxlIjoiQm9va0VkaXRvci5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLkJvb2tFZGl0b3Ige1xuICAgIC8qIGhlaWdodDogNDUwcHg7ICovXG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5ib29rRWRpdG9yQ29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDEwcHggMjVweCAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5ib29rRWRpdG9yQ29udGFpbmVyLmlzVmVyYm9zZSB7XG4gICAgLyoqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgLyoqL1xufVxuXG4uaXNWZXJib3NlIHtcbiAgICBvdXRsaW5lOiAycHggZG90dGVkIHJnYigyNTUgMTE3IDM4KTtcbn1cblxuLmJvb2tFZGl0b3JXcmFwcGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDksIDIxMywgMjE5LCAwLjgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0O1xufVxuLmlzVmVyYm9zZSAuYm9va0VkaXRvcldyYXBwZXIge1xuICAgIC8qKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiovXG59XG5cbi5ib29rRWRpdG9yV3JhcHBlcjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA0cHggNnB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xufVxuXG4uYm9va0VkaXRvcldyYXBwZXI6Zm9jdXMtd2l0aGluIHtcbiAgICAvKlxuICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDk5LCAxMDIsIDI0MSwgMC40KTtcbiAgICAqL1xufVxuXG4uYm9va0VkaXRvcldyYXBwZXIuaXNCb3JkZXJSYWRpdXNEaXNhYmxlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLmRyb3BPdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLypcbi5ib29rRWRpdG9yQ29udGFpbmVyIDpnbG9iYWwoLnZpZXctbGluZSkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOyAvKiA8LSBOb3RlOiBgUFJPTVBUQk9PS19TWU5UQVhfQ09MT1JTLkxJTkVgICogL1xufVxuKi9cblxuLmJvb2tFZGl0b3JBY3Rpb25iYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgcmlnaHQ6IDU1cHg7XG4gICAgei1pbmRleDogMTAwO1xufVxuXG4uZnVsbHNjcmVlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMWQ1ZGI7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgY29sb3I6ICMzNzQxNTE7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLmJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZmFmYjtcbiAgICBib3JkZXItY29sb3I6ICNiN2JjY2U7XG4gICAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xufVxuIl19 */";
|
|
7495
|
+
var styles$7 = {"BookEditor":"BookEditor-module_BookEditor__s-0PU","bookEditorContainer":"BookEditor-module_bookEditorContainer__wLMwM","isVerbose":"BookEditor-module_isVerbose__VQ6iL","bookEditorWrapper":"BookEditor-module_bookEditorWrapper__twppD","isBorderRadiusDisabled":"BookEditor-module_isBorderRadiusDisabled__h1I3v","dropOverlay":"BookEditor-module_dropOverlay__xWWoX","bookEditorActionbar":"BookEditor-module_bookEditorActionbar__KW6dc","fullscreen":"BookEditor-module_fullscreen__rktsl","button":"BookEditor-module_button__hS390"};
|
|
7496
|
+
styleInject(css_248z$8);
|
|
7384
7497
|
|
|
7385
7498
|
/**
|
|
7386
7499
|
* Converts Blob, File or MediaSource to url using URL.createObjectURL
|
|
@@ -7500,6 +7613,101 @@
|
|
|
7500
7613
|
* Note: [🔵] Code in this file should never be published outside of `@promptbook/browser`
|
|
7501
7614
|
*/
|
|
7502
7615
|
|
|
7616
|
+
/**
|
|
7617
|
+
* Downloads a file with the given content and filename
|
|
7618
|
+
*
|
|
7619
|
+
* @private utility of `<Chat/>` component
|
|
7620
|
+
*/
|
|
7621
|
+
function downloadFile(content, filename, mimeType) {
|
|
7622
|
+
const blob = new Blob([content], { type: mimeType });
|
|
7623
|
+
const url = URL.createObjectURL(blob);
|
|
7624
|
+
const link = document.createElement('a');
|
|
7625
|
+
link.href = url;
|
|
7626
|
+
link.download = filename;
|
|
7627
|
+
document.body.appendChild(link);
|
|
7628
|
+
link.click();
|
|
7629
|
+
document.body.removeChild(link);
|
|
7630
|
+
// Clean up the URL object
|
|
7631
|
+
setTimeout(() => URL.revokeObjectURL(url), 100);
|
|
7632
|
+
}
|
|
7633
|
+
|
|
7634
|
+
var css_248z$7 = ".CodeBlock-module_CodeBlock__6K33Z{border:1px solid #444;border-radius:5px;margin:10px 0;overflow:hidden}.CodeBlock-module_CodeBlockHeader__tfOwl{align-items:center;background-color:#2d2d2d;border-bottom:1px solid #444;color:#ccc;display:flex;font-size:.8em;justify-content:space-between;padding:5px 10px}.CodeBlock-module_CodeBlockButtons__rz1VO{display:flex;gap:8px}.CodeBlock-module_CopyButton__M07tp,.CodeBlock-module_CreateAgentButton__kUEnp,.CodeBlock-module_DownloadButton__ZTrzQ{align-items:center;background:transparent;border:none;color:#aaa;cursor:pointer;display:flex;font-size:inherit;gap:5px;padding:0;transition:color .2s}.CodeBlock-module_CopyButton__M07tp:hover,.CodeBlock-module_CreateAgentButton__kUEnp:hover,.CodeBlock-module_DownloadButton__ZTrzQ:hover{color:#fff}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvZGVCbG9jay5tb2R1bGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1DQUlJLHFCQUFzQixDQUZ0QixpQkFBa0IsQ0FEbEIsYUFBYyxDQUVkLGVBRUosQ0FFQSx5Q0FRSSxrQkFBbUIsQ0FQbkIsd0JBQXlCLENBSXpCLDRCQUE2QixDQUg3QixVQUFXLENBSVgsWUFBYSxDQUZiLGNBQWdCLENBR2hCLDZCQUE4QixDQUo5QixnQkFNSixDQUVBLDBDQUNJLFlBQWEsQ0FDYixPQUNKLENBRUEsdUhBVUksa0JBQW1CLENBUG5CLHNCQUF1QixDQUN2QixXQUFZLENBQ1osVUFBVyxDQUNYLGNBQWUsQ0FHZixZQUFhLENBRmIsaUJBQWtCLENBSWxCLE9BQVEsQ0FIUixTQUFVLENBSVYsb0JBQ0osQ0FFQSx5SUFHSSxVQUNKIiwiZmlsZSI6IkNvZGVCbG9jay5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLkNvZGVCbG9jayB7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQ0NDsgLyogRGFyayBtb2RlIGJvcmRlciAqL1xufVxuXG4uQ29kZUJsb2NrSGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQyZDJkO1xuICAgIGNvbG9yOiAjY2NjO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0NDQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLkNvZGVCbG9ja0J1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5Db3B5QnV0dG9uLFxuLkRvd25sb2FkQnV0dG9uLFxuLkNyZWF0ZUFnZW50QnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICNhYWE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDVweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xufVxuXG4uQ29weUJ1dHRvbjpob3Zlcixcbi5Eb3dubG9hZEJ1dHRvbjpob3Zlcixcbi5DcmVhdGVBZ2VudEJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG59XG4iXX0= */";
|
|
7635
|
+
var styles$6 = {"CodeBlock":"CodeBlock-module_CodeBlock__6K33Z","CodeBlockHeader":"CodeBlock-module_CodeBlockHeader__tfOwl","CodeBlockButtons":"CodeBlock-module_CodeBlockButtons__rz1VO","CopyButton":"CodeBlock-module_CopyButton__M07tp","DownloadButton":"CodeBlock-module_DownloadButton__ZTrzQ","CreateAgentButton":"CodeBlock-module_CreateAgentButton__kUEnp"};
|
|
7636
|
+
styleInject(css_248z$7);
|
|
7637
|
+
|
|
7638
|
+
const LANGUAGE_EXTENSIONS = {
|
|
7639
|
+
python: 'py',
|
|
7640
|
+
javascript: 'js',
|
|
7641
|
+
typescript: 'ts',
|
|
7642
|
+
json: 'json',
|
|
7643
|
+
html: 'html',
|
|
7644
|
+
css: 'css',
|
|
7645
|
+
markdown: 'md',
|
|
7646
|
+
text: 'txt',
|
|
7647
|
+
xml: 'xml',
|
|
7648
|
+
sql: 'sql',
|
|
7649
|
+
sh: 'sh',
|
|
7650
|
+
bash: 'sh',
|
|
7651
|
+
zsh: 'sh',
|
|
7652
|
+
yaml: 'yaml',
|
|
7653
|
+
yml: 'yaml',
|
|
7654
|
+
book: 'book',
|
|
7655
|
+
};
|
|
7656
|
+
/**
|
|
7657
|
+
* Component to render a code block with syntax highlighting, copy, download, and create agent options.
|
|
7658
|
+
*
|
|
7659
|
+
* @private Internal utility of `<ChatMessage />` component
|
|
7660
|
+
*/
|
|
7661
|
+
function CodeBlock({ code, language, className, onCreateAgent }) {
|
|
7662
|
+
const lines = react.useMemo(() => code.split('\n').length, [code]);
|
|
7663
|
+
// Note: 19px is approx line height for fontSize 14. +20 for padding.
|
|
7664
|
+
// We cap at 400px to avoid taking too much space, allowing scroll.
|
|
7665
|
+
const height = Math.min(Math.max(lines * 19, 19), 400);
|
|
7666
|
+
const [copied, setCopied] = react.useState(false);
|
|
7667
|
+
const handleDownload = () => {
|
|
7668
|
+
const lang = (language === null || language === void 0 ? void 0 : language.trim().toLowerCase()) || 'text';
|
|
7669
|
+
const extension = LANGUAGE_EXTENSIONS[lang] || lang;
|
|
7670
|
+
const filename = `file.${extension}`;
|
|
7671
|
+
downloadFile(code, filename, 'text/plain');
|
|
7672
|
+
};
|
|
7673
|
+
const handleCopy = async () => {
|
|
7674
|
+
try {
|
|
7675
|
+
await navigator.clipboard.writeText(code);
|
|
7676
|
+
setCopied(true);
|
|
7677
|
+
setTimeout(() => setCopied(false), 2000);
|
|
7678
|
+
}
|
|
7679
|
+
catch (error) {
|
|
7680
|
+
console.error('Failed to copy code to clipboard:', error);
|
|
7681
|
+
}
|
|
7682
|
+
};
|
|
7683
|
+
const header = language ? (jsxRuntime.jsxs("div", { className: styles$6.CodeBlockHeader, children: [jsxRuntime.jsx("span", { children: language }), jsxRuntime.jsxs("div", { className: styles$6.CodeBlockButtons, children: [jsxRuntime.jsx("button", { onClick: handleCopy, className: styles$6.CopyButton, title: "Copy to clipboard", children: copied ? 'Copied!' : 'Copy' }), jsxRuntime.jsx("button", { onClick: handleDownload, className: styles$6.DownloadButton, title: "Download code", children: "Download" }), (language === null || language === void 0 ? void 0 : language.trim().toLowerCase()) === 'book' && onCreateAgent && (jsxRuntime.jsx("button", { onClick: () => onCreateAgent(code), className: styles$6.CreateAgentButton, title: "Create agent from this book", children: "Create Agent" }))] })] })) : null;
|
|
7684
|
+
if ((language === null || language === void 0 ? void 0 : language.trim().toLowerCase()) === 'book') {
|
|
7685
|
+
return (jsxRuntime.jsxs("div", { className: classNames(styles$6.CodeBlock, className), children: [header, jsxRuntime.jsx(BookEditor, { value: code, isReadonly: true, height: lines * 25 /* <- [🧠] A bit more than 19px to accommodate BookEditor lines */ })] }));
|
|
7686
|
+
}
|
|
7687
|
+
return (jsxRuntime.jsxs("div", { className: classNames(styles$6.CodeBlock, className), children: [header, jsxRuntime.jsx(Editor__default["default"], { height: `${height}px`, language: language || 'plaintext', value: code, theme: "vs-dark", options: {
|
|
7688
|
+
readOnly: true,
|
|
7689
|
+
minimap: { enabled: false },
|
|
7690
|
+
scrollBeyondLastLine: false,
|
|
7691
|
+
lineNumbers: 'on',
|
|
7692
|
+
folding: false,
|
|
7693
|
+
glyphMargin: false,
|
|
7694
|
+
fontFamily: 'Consolas, "Courier New", monospace',
|
|
7695
|
+
fontSize: 14,
|
|
7696
|
+
lineHeight: 19,
|
|
7697
|
+
overviewRulerLanes: 0,
|
|
7698
|
+
hideCursorInOverviewRuler: true,
|
|
7699
|
+
renderLineHighlight: 'none',
|
|
7700
|
+
contextmenu: false,
|
|
7701
|
+
scrollbar: {
|
|
7702
|
+
vertical: 'auto',
|
|
7703
|
+
horizontal: 'auto',
|
|
7704
|
+
useShadows: false,
|
|
7705
|
+
},
|
|
7706
|
+
domReadOnly: true,
|
|
7707
|
+
wordWrap: 'off',
|
|
7708
|
+
} })] }));
|
|
7709
|
+
}
|
|
7710
|
+
|
|
7503
7711
|
var css_248z$6 = ".MarkdownContent-module_MarkdownContent__2JuyX h1{font-size:2em}.MarkdownContent-module_MarkdownContent__2JuyX h2{font-size:1.75em}.MarkdownContent-module_MarkdownContent__2JuyX h3{font-size:1.5em}.MarkdownContent-module_MarkdownContent__2JuyX h4{font-size:1.25em}.MarkdownContent-module_MarkdownContent__2JuyX h5{font-size:1.1em}.MarkdownContent-module_MarkdownContent__2JuyX p{text-wrap:auto}.MarkdownContent-module_MarkdownContent__2JuyX ul{list-style:disc;margin-left:20px}.MarkdownContent-module_MarkdownContent__2JuyX ol{list-style:decimal;margin-left:20px}.MarkdownContent-module_MarkdownContent__2JuyX blockquote,.MarkdownContent-module_MarkdownContent__2JuyX img,.MarkdownContent-module_MarkdownContent__2JuyX pre,.MarkdownContent-module_MarkdownContent__2JuyX table{border-radius:8px;margin-bottom:10px;margin-top:10px}.MarkdownContent-module_MarkdownContent__2JuyX pre{background:#000;border:none;box-shadow:none;color:#fff;display:block;font-size:inherit;line-height:inherit;padding:1em}.MarkdownContent-module_MarkdownContent__2JuyX blockquote{background:#ffffffcc;border:none;box-shadow:none;color:#000;display:block;font-size:inherit;line-height:inherit;padding:1em}.MarkdownContent-module_MarkdownContent__2JuyX code{background:#cccccc55;border:none;box-shadow:none;color:inherit;display:inline-block;font-size:inherit;line-height:inherit;margin:0;padding:0}.MarkdownContent-module_MarkdownContent__2JuyX pre code{background-color:#000000cc;border-radius:8px}.MarkdownContent-module_MarkdownContent__2JuyX .MarkdownContent-module_chat-code-block__ZffFg{background:#181c23;border-color:#23272f;box-shadow:0 2px 8px rgba(0,0,0,.12);color:#f8fafc;font-family:Fira Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:14px;line-height:1.6;overflow-x:auto}.MarkdownContent-module_MarkdownContent__2JuyX .MarkdownContent-module_chat-code-block__ZffFg code{background:none!important;border:none!important;box-shadow:none!important;color:inherit!important;display:block;font-family:inherit!important;font-size:inherit!important;overflow-x:auto;padding:0!important;white-space:pre;word-break:break-word}.MarkdownContent-module_MarkdownContent__2JuyX table{background:#f8fafc;border-collapse:separate;border-spacing:0;box-shadow:0 2px 8px rgba(0,0,0,.08);color:#17223b;font-size:14px;margin:16px 0;width:100%}.MarkdownContent-module_MarkdownContent__2JuyX td,.MarkdownContent-module_MarkdownContent__2JuyX th{background:none;border-bottom:1px solid #d1dbe8;color:#17223b;padding:10px 16px;text-align:left}.MarkdownContent-module_MarkdownContent__2JuyX th{background:linear-gradient(90deg,#eaf3fa 80%,#d1e3f8);border-bottom:2px solid #b5c7de;color:#17223b;font-weight:700}.MarkdownContent-module_MarkdownContent__2JuyX tr:last-child td{border-bottom:none}.MarkdownContent-module_MarkdownContent__2JuyX tr:nth-child(2n) td{background:#eaf3fa}.MarkdownContent-module_MarkdownContent__2JuyX tr:hover td{background:#cbe0f7;transition:background .2s}.MarkdownContent-module_MarkdownContent__2JuyX table{border-radius:12px;overflow:hidden}.MarkdownContent-module_MarkdownContent__2JuyX td:first-child,.MarkdownContent-module_MarkdownContent__2JuyX th:first-child{border-top-left-radius:12px}.MarkdownContent-module_MarkdownContent__2JuyX td:last-child,.MarkdownContent-module_MarkdownContent__2JuyX th:last-child{border-top-right-radius:12px}.MarkdownContent-module_citation__11SMw{background:#e7f1ff;border-radius:4px;color:#007bff;cursor:default;display:inline-block;font-size:.7em;font-weight:700;margin:0 2px;padding:0 4px;user-select:none;vertical-align:super}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk1hcmtkb3duQ29udGVudC5tb2R1bGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUNJLGFBQ0osQ0FFQSxrREFDSSxnQkFDSixDQUVBLGtEQUNJLGVBQ0osQ0FFQSxrREFDSSxnQkFDSixDQUVBLGtEQUNJLGVBQ0osQ0FFQSxpREFDSSxjQUNKLENBRUEsa0RBQ0ksZUFBZ0IsQ0FDaEIsZ0JBQ0osQ0FFQSxrREFDSSxrQkFBbUIsQ0FDbkIsZ0JBQ0osQ0FFQSxxTkFNSSxpQkFBa0IsQ0FEbEIsa0JBQW1CLENBRG5CLGVBR0osQ0FFQSxtREFJSSxlQUFxQixDQUZyQixXQUFZLENBQ1osZUFBZ0IsQ0FJaEIsVUFBVyxDQU5YLGFBQWMsQ0FJZCxpQkFBa0IsQ0FDbEIsbUJBQW9CLENBRXBCLFdBQ0osQ0FFQSwwREFJSSxvQkFBcUIsQ0FGckIsV0FBWSxDQUNaLGVBQWdCLENBSWhCLFVBQVcsQ0FOWCxhQUFjLENBSWQsaUJBQWtCLENBQ2xCLG1CQUFvQixDQUVwQixXQUNKLENBRUEsb0RBTUksb0JBQXFCLENBRnJCLFdBQVksQ0FDWixlQUFnQixDQUloQixhQUFjLENBUmQsb0JBQXFCLENBTXJCLGlCQUFrQixDQUNsQixtQkFBb0IsQ0FOcEIsUUFBUyxDQUNULFNBT0osQ0FFQSx3REFDSSwwQkFBMkIsQ0FDM0IsaUJBQ0osQ0FFQSw4RkFDSSxrQkFBbUIsQ0FLbkIsb0JBQXFCLENBQ3JCLG9DQUF5QyxDQUx6QyxhQUFjLENBTWQsOERBQTJFLENBTDNFLGNBQWUsQ0FDZixlQUFnQixDQUNoQixlQUlKLENBQ0EsbUdBQ0kseUJBQTJCLENBSzNCLHFCQUF1QixDQUN2Qix5QkFBMkIsQ0FMM0IsdUJBQXlCLENBU3pCLGFBQWMsQ0FSZCw2QkFBK0IsQ0FDL0IsMkJBQTZCLENBTTdCLGVBQWdCLENBTGhCLG1CQUFxQixDQUdyQixlQUFnQixDQUNoQixxQkFHSixDQUNBLHFEQUtJLGtCQUFtQixDQUhuQix3QkFBeUIsQ0FDekIsZ0JBQWlCLENBS2pCLG9DQUF5QyxDQUV6QyxhQUFjLENBRGQsY0FBZSxDQUxmLGFBQWMsQ0FIZCxVQVVKLENBQ0Esb0dBTUksZUFBZ0IsQ0FIaEIsK0JBQWdDLENBRWhDLGFBQWMsQ0FIZCxpQkFBa0IsQ0FFbEIsZUFHSixDQUNBLGtEQUNJLHFEQUE2RCxDQUc3RCwrQkFBZ0MsQ0FEaEMsYUFBYyxDQURkLGVBR0osQ0FDQSxnRUFDSSxrQkFDSixDQUNBLG1FQUNJLGtCQUNKLENBQ0EsMkRBQ0ksa0JBQW1CLENBQ25CLHlCQUNKLENBQ0EscURBQ0ksa0JBQW1CLENBQ25CLGVBQ0osQ0FDQSw0SEFFSSwyQkFDSixDQUNBLDBIQUVJLDRCQUNKLENBRUEsd0NBTUksa0JBQW1CLENBRW5CLGlCQUFrQixDQUhsQixhQUFjLENBS2QsY0FBZSxDQVRmLG9CQUFxQixDQUVyQixjQUFnQixDQUNoQixlQUFpQixDQUtqQixZQUFhLENBRmIsYUFBYyxDQUlkLGdCQUFpQixDQVRqQixvQkFVSiIsImZpbGUiOiJNYXJrZG93bkNvbnRlbnQubW9kdWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5NYXJrZG93bkNvbnRlbnQgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGgyIHtcbiAgICBmb250LXNpemU6IDEuNzVlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBoNCB7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4xZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgcCB7XG4gICAgdGV4dC13cmFwOiBhdXRvO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuXG4uTWFya2Rvd25Db250ZW50IG9sIHtcbiAgICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuXG4uTWFya2Rvd25Db250ZW50IGltZyxcbi5NYXJrZG93bkNvbnRlbnQgcHJlLFxuLk1hcmtkb3duQ29udGVudCBibG9ja3F1b3RlLFxuLk1hcmtkb3duQ29udGVudCB0YWJsZSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLk1hcmtkb3duQ29udGVudCBwcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQ6ICMwMDAwMDBmZjtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMWVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGJsb2NrcXVvdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmZjYztcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgcGFkZGluZzogMWVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGNvZGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjY2NjNTU7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG4uTWFya2Rvd25Db250ZW50IHByZSBjb2RlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwY2M7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uTWFya2Rvd25Db250ZW50IC5jaGF0LWNvZGUtYmxvY2sge1xuICAgIGJhY2tncm91bmQ6ICMxODFjMjM7XG4gICAgY29sb3I6ICNmOGZhZmM7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBib3JkZXItY29sb3I6ICMyMzI3MmY7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgZm9udC1mYW1pbHk6ICdGaXJhIE1vbm8nLCAnTWVubG8nLCAnQ29uc29sYXMnLCAnTGliZXJhdGlvbiBNb25vJywgbW9ub3NwYWNlO1xufVxuLk1hcmtkb3duQ29udGVudCAuY2hhdC1jb2RlLWJsb2NrIGNvZGUge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5NYXJrZG93bkNvbnRlbnQgdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgbWFyZ2luOiAxNnB4IDA7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYzsgLyogU3Ryb25nZXIgbGlnaHQgYmFja2dyb3VuZCBmb3IgY29udHJhc3QgKi9cbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjMTcyMjNiOyAvKiBEYXJrIHRleHQgZm9yIGNvbnRyYXN0ICovXG59XG4uTWFya2Rvd25Db250ZW50IHRoLFxuLk1hcmtkb3duQ29udGVudCB0ZCB7XG4gICAgcGFkZGluZzogMTBweCAxNnB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDFkYmU4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICMxNzIyM2I7IC8qIEVuc3VyZSBzdHJvbmcgdGV4dCBjb2xvciBmb3IgYWxsIGNlbGxzICovXG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cbi5NYXJrZG93bkNvbnRlbnQgdGgge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2VhZjNmYSA4MCUsICNkMWUzZjggMTAwJSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzE3MjIzYjsgLyogU3Ryb25nIGhlYWRlciB0ZXh0ICovXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNiNWM3ZGU7XG59XG4uTWFya2Rvd25Db250ZW50IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4uTWFya2Rvd25Db250ZW50IHRyOm50aC1jaGlsZChldmVuKSB0ZCB7XG4gICAgYmFja2dyb3VuZDogI2VhZjNmYTtcbn1cbi5NYXJrZG93bkNvbnRlbnQgdHI6aG92ZXIgdGQge1xuICAgIGJhY2tncm91bmQ6ICNjYmUwZjc7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xufVxuLk1hcmtkb3duQ29udGVudCB0YWJsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLk1hcmtkb3duQ29udGVudCB0aDpmaXJzdC1jaGlsZCxcbi5NYXJrZG93bkNvbnRlbnQgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEycHg7XG59XG4uTWFya2Rvd25Db250ZW50IHRoOmxhc3QtY2hpbGQsXG4uTWFya2Rvd25Db250ZW50IHRkOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMnB4O1xufVxuXG4uY2l0YXRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgZm9udC1zaXplOiAwLjdlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogIzAwN2JmZjtcbiAgICBiYWNrZ3JvdW5kOiAjZTdmMWZmO1xuICAgIHBhZGRpbmc6IDAgNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLyoqXG4gKiBUT0RPOiBb8J+MiV0gRFJZIE1hcmtkb3duIHByaW1pdGl2ZXMgc3R5bGluZ1xuICovXG4iXX0= */";
|
|
7504
7712
|
var styles$5 = {"MarkdownContent":"MarkdownContent-module_MarkdownContent__2JuyX","chat-code-block":"MarkdownContent-module_chat-code-block__ZffFg","citation":"MarkdownContent-module_citation__11SMw"};
|
|
7505
7713
|
styleInject(css_248z$6);
|
|
@@ -7602,32 +7810,8 @@
|
|
|
7602
7810
|
}
|
|
7603
7811
|
try {
|
|
7604
7812
|
const processedMarkdown = renderMathInMarkdown(markdown);
|
|
7605
|
-
|
|
7606
|
-
if (typeof window
|
|
7607
|
-
html = html.replace(/<pre><code( class="language-([^"]+)")?>([\s\S]*?)<\/code><\/pre>/g, (match, _langClass, lang, code) => {
|
|
7608
|
-
const decoded = code
|
|
7609
|
-
.replace(/&/g, '&')
|
|
7610
|
-
.replace(/</g, '<')
|
|
7611
|
-
.replace(/>/g, '>')
|
|
7612
|
-
.replace(/"/g, '"')
|
|
7613
|
-
.replace(/'/g, "'");
|
|
7614
|
-
const highlighted = lang
|
|
7615
|
-
? hljs__default["default"].highlight(decoded, { language: lang }).value
|
|
7616
|
-
: hljs__default["default"].highlightAuto(decoded).value;
|
|
7617
|
-
return `<pre class="chat-code-block"><code class="hljs${lang ? ' language-' + lang : ''}">${highlighted}</code></pre>`;
|
|
7618
|
-
});
|
|
7619
|
-
}
|
|
7620
|
-
else {
|
|
7621
|
-
if (html.match(/<pre><code/)) {
|
|
7622
|
-
const cssId = 'hljs-github-dark-css';
|
|
7623
|
-
if (!window.document.getElementById(cssId)) {
|
|
7624
|
-
const link = window.document.createElement('link');
|
|
7625
|
-
link.id = cssId;
|
|
7626
|
-
link.rel = 'stylesheet';
|
|
7627
|
-
link.href = 'https://book-components.ptbk.io/cdn/highlightjs/github-dark.css';
|
|
7628
|
-
window.document.head.appendChild(link);
|
|
7629
|
-
}
|
|
7630
|
-
}
|
|
7813
|
+
const html = chatMarkdownConverter.makeHtml(processedMarkdown);
|
|
7814
|
+
if (typeof window !== 'undefined') {
|
|
7631
7815
|
if (html.match(/class="katex/)) {
|
|
7632
7816
|
const katexCssId = 'katex-css';
|
|
7633
7817
|
if (!window.document.getElementById(katexCssId)) {
|
|
@@ -7638,38 +7822,6 @@
|
|
|
7638
7822
|
window.document.head.appendChild(link);
|
|
7639
7823
|
}
|
|
7640
7824
|
}
|
|
7641
|
-
const parser = new window.DOMParser();
|
|
7642
|
-
const doc = parser.parseFromString(html, 'text/html');
|
|
7643
|
-
doc.querySelectorAll('pre > code').forEach((codeEl) => {
|
|
7644
|
-
var _a;
|
|
7645
|
-
const preEl = codeEl.parentElement;
|
|
7646
|
-
if (!preEl)
|
|
7647
|
-
return;
|
|
7648
|
-
const lang = (_a = Array.from(codeEl.classList)
|
|
7649
|
-
.find((cls) => cls.startsWith('language-'))) === null || _a === void 0 ? void 0 : _a.replace('language-', '');
|
|
7650
|
-
const code = codeEl.innerHTML;
|
|
7651
|
-
let highlighted = '';
|
|
7652
|
-
try {
|
|
7653
|
-
const decoded = code
|
|
7654
|
-
.replace(/&/g, '&')
|
|
7655
|
-
.replace(/</g, '<')
|
|
7656
|
-
.replace(/>/g, '>')
|
|
7657
|
-
.replace(/"/g, '"')
|
|
7658
|
-
.replace(/'/g, "'");
|
|
7659
|
-
highlighted = lang
|
|
7660
|
-
? hljs__default["default"].highlight(decoded, { language: lang }).value
|
|
7661
|
-
: hljs__default["default"].highlightAuto(decoded).value;
|
|
7662
|
-
}
|
|
7663
|
-
catch (_b) {
|
|
7664
|
-
highlighted = code;
|
|
7665
|
-
}
|
|
7666
|
-
codeEl.innerHTML = highlighted;
|
|
7667
|
-
codeEl.classList.add('hljs');
|
|
7668
|
-
if (lang)
|
|
7669
|
-
codeEl.classList.add(`language-${lang}`);
|
|
7670
|
-
preEl.classList.add('chat-code-block');
|
|
7671
|
-
});
|
|
7672
|
-
html = doc.body.innerHTML;
|
|
7673
7825
|
}
|
|
7674
7826
|
const sanitizedHtml = html
|
|
7675
7827
|
.replace(/<\s*(script|style|iframe|object|embed)[^>]*>[\s\S]*?<\s*\/\s*\1\s*>/gi, '')
|
|
@@ -7699,9 +7851,50 @@
|
|
|
7699
7851
|
* @public exported from `@promptbook/components`
|
|
7700
7852
|
*/
|
|
7701
7853
|
function MarkdownContent(props) {
|
|
7702
|
-
const { content, className } = props;
|
|
7854
|
+
const { content, className, onCreateAgent } = props;
|
|
7703
7855
|
const htmlContent = react.useMemo(() => renderMarkdown(content), [content]);
|
|
7704
|
-
|
|
7856
|
+
const containerRef = react.useRef(null);
|
|
7857
|
+
const rootsRef = react.useRef([]);
|
|
7858
|
+
react.useEffect(() => {
|
|
7859
|
+
// Cleanup previous roots
|
|
7860
|
+
rootsRef.current.forEach((root) => root.unmount());
|
|
7861
|
+
rootsRef.current = [];
|
|
7862
|
+
if (!containerRef.current) {
|
|
7863
|
+
return;
|
|
7864
|
+
}
|
|
7865
|
+
const preElements = containerRef.current.querySelectorAll('pre');
|
|
7866
|
+
preElements.forEach((pre) => {
|
|
7867
|
+
// Check if it is a code block (has code element)
|
|
7868
|
+
const codeElement = pre.querySelector('code');
|
|
7869
|
+
if (!codeElement) {
|
|
7870
|
+
return;
|
|
7871
|
+
}
|
|
7872
|
+
// Get language and code
|
|
7873
|
+
const className = codeElement.className; // e.g. language-python
|
|
7874
|
+
const match = className.match(/language-([^\s]+)/);
|
|
7875
|
+
const language = match ? match[1] : undefined;
|
|
7876
|
+
const code = codeElement.textContent || '';
|
|
7877
|
+
// Clear the pre element content
|
|
7878
|
+
pre.innerHTML = '';
|
|
7879
|
+
pre.className = ''; // remove existing classes if any
|
|
7880
|
+
pre.style.background = 'none'; // reset styles
|
|
7881
|
+
pre.style.padding = '0';
|
|
7882
|
+
pre.style.margin = '0';
|
|
7883
|
+
pre.style.overflow = 'visible';
|
|
7884
|
+
// Create a container for the CodeBlock
|
|
7885
|
+
const mountPoint = document.createElement('div');
|
|
7886
|
+
pre.appendChild(mountPoint);
|
|
7887
|
+
// Render CodeBlock
|
|
7888
|
+
const root = client.createRoot(mountPoint);
|
|
7889
|
+
root.render(jsxRuntime.jsx(CodeBlock, { code: code, language: language, onCreateAgent: onCreateAgent }));
|
|
7890
|
+
rootsRef.current.push(root);
|
|
7891
|
+
});
|
|
7892
|
+
return () => {
|
|
7893
|
+
rootsRef.current.forEach((root) => root.unmount());
|
|
7894
|
+
rootsRef.current = [];
|
|
7895
|
+
};
|
|
7896
|
+
}, [htmlContent, onCreateAgent]);
|
|
7897
|
+
return (jsxRuntime.jsx("div", { ref: containerRef, className: classNames(styles$5.MarkdownContent, className), dangerouslySetInnerHTML: {
|
|
7705
7898
|
__html: htmlContent,
|
|
7706
7899
|
} }));
|
|
7707
7900
|
}
|
|
@@ -7918,6 +8111,16 @@
|
|
|
7918
8111
|
}, children: [icon, jsxRuntime.jsx("span", { children: name })] }, name))) }))] }));
|
|
7919
8112
|
}
|
|
7920
8113
|
|
|
8114
|
+
const MenuHoistingContext = react.createContext(null);
|
|
8115
|
+
/**
|
|
8116
|
+
* Hook to use the menu hoisting system
|
|
8117
|
+
*
|
|
8118
|
+
* @private mechanism inside Promptbook
|
|
8119
|
+
*/
|
|
8120
|
+
function useMenuHoisting() {
|
|
8121
|
+
return react.useContext(MenuHoistingContext);
|
|
8122
|
+
}
|
|
8123
|
+
|
|
7921
8124
|
/**
|
|
7922
8125
|
*
|
|
7923
8126
|
* @private Internal component used by `BookEditor`
|
|
@@ -7925,50 +8128,83 @@
|
|
|
7925
8128
|
function BookEditorActionbar(props) {
|
|
7926
8129
|
const { value, isDownloadButtonShown, isUploadButtonShown, isCameraButtonShown, isAboutButtonShown, isFullscreenButtonShown, onFullscreenClick, onUploadDocument, onTakePhoto, isFullscreen, } = props;
|
|
7927
8130
|
const [isAboutModalOpen, setIsAboutModalOpen] = react.useState(false);
|
|
7928
|
-
const
|
|
7929
|
-
|
|
8131
|
+
const menuHoisting = useMenuHoisting();
|
|
8132
|
+
// Note: [1] We use ref to avoid re-creating the handleDownload function (and thus the actions array) on every value change
|
|
8133
|
+
const valueRef = react.useRef(value);
|
|
8134
|
+
react.useEffect(() => {
|
|
8135
|
+
valueRef.current = value;
|
|
8136
|
+
}, [value]);
|
|
8137
|
+
const handleDownload = react.useCallback(() => {
|
|
8138
|
+
const book = validateBook(valueRef.current || DEFAULT_BOOK);
|
|
7930
8139
|
/* not await */ $induceBookDownload(book);
|
|
7931
|
-
};
|
|
7932
|
-
const actions =
|
|
7933
|
-
|
|
7934
|
-
|
|
7935
|
-
|
|
7936
|
-
|
|
7937
|
-
|
|
7938
|
-
|
|
7939
|
-
|
|
7940
|
-
|
|
7941
|
-
|
|
7942
|
-
|
|
7943
|
-
|
|
7944
|
-
|
|
7945
|
-
|
|
7946
|
-
|
|
7947
|
-
|
|
7948
|
-
|
|
7949
|
-
|
|
7950
|
-
|
|
7951
|
-
|
|
7952
|
-
|
|
7953
|
-
|
|
7954
|
-
|
|
7955
|
-
|
|
7956
|
-
|
|
7957
|
-
|
|
7958
|
-
|
|
7959
|
-
|
|
7960
|
-
|
|
7961
|
-
|
|
7962
|
-
|
|
7963
|
-
|
|
7964
|
-
|
|
7965
|
-
|
|
7966
|
-
|
|
7967
|
-
|
|
8140
|
+
}, []);
|
|
8141
|
+
const actions = react.useMemo(() => {
|
|
8142
|
+
const _actions = [];
|
|
8143
|
+
if (isUploadButtonShown && onUploadDocument) {
|
|
8144
|
+
_actions.push({
|
|
8145
|
+
icon: jsxRuntime.jsx(AttachmentIcon, {}),
|
|
8146
|
+
name: 'Upload document',
|
|
8147
|
+
onClick: onUploadDocument,
|
|
8148
|
+
});
|
|
8149
|
+
}
|
|
8150
|
+
if (isCameraButtonShown && onTakePhoto) {
|
|
8151
|
+
_actions.push({
|
|
8152
|
+
icon: jsxRuntime.jsx(CameraIcon, {}),
|
|
8153
|
+
name: 'Take photo',
|
|
8154
|
+
onClick: onTakePhoto,
|
|
8155
|
+
});
|
|
8156
|
+
}
|
|
8157
|
+
if (isDownloadButtonShown) {
|
|
8158
|
+
_actions.push({
|
|
8159
|
+
icon: jsxRuntime.jsx(DownloadIcon, {}),
|
|
8160
|
+
name: 'Download',
|
|
8161
|
+
onClick: handleDownload,
|
|
8162
|
+
});
|
|
8163
|
+
}
|
|
8164
|
+
if (isAboutButtonShown) {
|
|
8165
|
+
_actions.push({
|
|
8166
|
+
icon: jsxRuntime.jsx(AboutIcon, {}),
|
|
8167
|
+
name: 'About',
|
|
8168
|
+
onClick: () => setIsAboutModalOpen(true),
|
|
8169
|
+
});
|
|
8170
|
+
}
|
|
8171
|
+
if (isFullscreenButtonShown && onFullscreenClick) {
|
|
8172
|
+
_actions.push({
|
|
8173
|
+
icon: jsxRuntime.jsx(FullscreenIcon, {}),
|
|
8174
|
+
name: 'Fullscreen',
|
|
8175
|
+
onClick: onFullscreenClick,
|
|
8176
|
+
});
|
|
8177
|
+
}
|
|
8178
|
+
return _actions;
|
|
8179
|
+
}, [
|
|
8180
|
+
isUploadButtonShown,
|
|
8181
|
+
onUploadDocument,
|
|
8182
|
+
isCameraButtonShown,
|
|
8183
|
+
onTakePhoto,
|
|
8184
|
+
isDownloadButtonShown,
|
|
8185
|
+
handleDownload,
|
|
8186
|
+
isAboutButtonShown,
|
|
8187
|
+
isFullscreenButtonShown,
|
|
8188
|
+
onFullscreenClick,
|
|
8189
|
+
]);
|
|
8190
|
+
react.useEffect(() => {
|
|
8191
|
+
if (!menuHoisting || isFullscreen) {
|
|
8192
|
+
return;
|
|
8193
|
+
}
|
|
8194
|
+
menuHoisting.setMenu(actions);
|
|
8195
|
+
return () => {
|
|
8196
|
+
menuHoisting.setMenu([]);
|
|
8197
|
+
};
|
|
8198
|
+
}, [menuHoisting, actions, isFullscreen]);
|
|
7968
8199
|
if (isFullscreen) {
|
|
7969
|
-
return (jsxRuntime.jsx("div", { className: styles$
|
|
8200
|
+
return (jsxRuntime.jsx("div", { className: styles$7.bookEditorActionbar, children: jsxRuntime.jsx("button", { className: styles$7.button, onClick: onFullscreenClick, children: jsxRuntime.jsx(ExitFullscreenIcon, {}) }) }));
|
|
7970
8201
|
}
|
|
7971
|
-
|
|
8202
|
+
if (menuHoisting && !isFullscreen) {
|
|
8203
|
+
return (jsxRuntime.jsx(jsxRuntime.Fragment, { children: isAboutModalOpen && (jsxRuntime.jsx(Modal, { onClose: () => {
|
|
8204
|
+
setIsAboutModalOpen(false);
|
|
8205
|
+
}, children: jsxRuntime.jsx(AboutPromptbookInformation, {}) })) }));
|
|
8206
|
+
}
|
|
8207
|
+
return (jsxRuntime.jsxs("div", { className: styles$7.bookEditorActionbar, children: [actions.length >= 2 ? (jsxRuntime.jsx(Dropdown, { actions: actions })) : (actions.map(({ icon, name, onClick }) => (jsxRuntime.jsx("button", { className: styles$7.button, onClick: onClick, children: icon }, name)))), isAboutModalOpen && (jsxRuntime.jsx(Modal, { onClose: () => {
|
|
7972
8208
|
setIsAboutModalOpen(false);
|
|
7973
8209
|
}, children: jsxRuntime.jsx(AboutPromptbookInformation, {}) }))] }));
|
|
7974
8210
|
}
|
|
@@ -8306,7 +8542,7 @@
|
|
|
8306
8542
|
event.preventDefault();
|
|
8307
8543
|
setIsDragOver(false);
|
|
8308
8544
|
}, []);
|
|
8309
|
-
return (jsxRuntime.jsxs("div", { className: classNames(styles$
|
|
8545
|
+
return (jsxRuntime.jsxs("div", { className: classNames(styles$7.bookEditorContainer, instanceClass), onDrop: handleDrop, onDragOver: handleDragOver, onDragEnter: handleDragEnter, onDragLeave: handleDragLeave, children: [(isUploadButtonShown ||
|
|
8310
8546
|
isCameraButtonShown ||
|
|
8311
8547
|
isDownloadButtonShown ||
|
|
8312
8548
|
isAboutButtonShown ||
|
|
@@ -8319,7 +8555,7 @@
|
|
|
8319
8555
|
onFullscreenClick,
|
|
8320
8556
|
onUploadDocument: handleUploadDocument,
|
|
8321
8557
|
onTakePhoto: handleTakePhoto,
|
|
8322
|
-
isFullscreen })), jsxRuntime.jsx("input", { type: "file", ref: fileUploadInputRef, style: { display: 'none' }, onChange: handleFileInputChange, multiple: true }), jsxRuntime.jsx("input", { type: "file", ref: cameraInputRef, style: { display: 'none' }, accept: "image/*", capture: "environment", onChange: handleFileInputChange }), isDragOver && jsxRuntime.jsx("div", { className: styles$
|
|
8558
|
+
isFullscreen })), jsxRuntime.jsx("input", { type: "file", ref: fileUploadInputRef, style: { display: 'none' }, onChange: handleFileInputChange, multiple: true }), jsxRuntime.jsx("input", { type: "file", ref: cameraInputRef, style: { display: 'none' }, accept: "image/*", capture: "environment", onChange: handleFileInputChange }), isDragOver && jsxRuntime.jsx("div", { className: styles$7.dropOverlay, children: "Drop files to upload" }), jsxRuntime.jsxs("div", { style: {
|
|
8323
8559
|
position: 'relative',
|
|
8324
8560
|
flex: 1,
|
|
8325
8561
|
height: '100%',
|
|
@@ -8384,7 +8620,7 @@
|
|
|
8384
8620
|
arrowSize: 0,
|
|
8385
8621
|
useShadows: false,
|
|
8386
8622
|
},
|
|
8387
|
-
}, loading: jsxRuntime.jsx("div", { className: styles$
|
|
8623
|
+
}, loading: jsxRuntime.jsx("div", { className: styles$7.loading, children: "\uD83D\uDCD6" }) })] })] }));
|
|
8388
8624
|
}
|
|
8389
8625
|
|
|
8390
8626
|
/**
|
|
@@ -8406,7 +8642,7 @@
|
|
|
8406
8642
|
const handleFullscreenToggle = () => {
|
|
8407
8643
|
setIsFullscreen(!isFullscreen);
|
|
8408
8644
|
};
|
|
8409
|
-
const editorContent = (jsxRuntime.jsx("div", { "data-book-component": "BookEditor", className: classNames(styles$
|
|
8645
|
+
const editorContent = (jsxRuntime.jsx("div", { "data-book-component": "BookEditor", className: classNames(styles$7.BookEditor, isVerbose && styles$7.isVerbose, styles$7.bookEditorWrapper, isBorderRadiusDisabled && styles$7.isBorderRadiusDisabled, isFullscreen && styles$7.fullscreen, className), style: isFullscreen
|
|
8410
8646
|
? style
|
|
8411
8647
|
: {
|
|
8412
8648
|
...(style || {}),
|
|
@@ -9258,7 +9494,7 @@
|
|
|
9258
9494
|
*
|
|
9259
9495
|
* @private internal subcomponent of `<Chat>` component
|
|
9260
9496
|
*/
|
|
9261
|
-
const ChatMessageItem = react.memo(({ message, participant, participants, isLastMessage, onMessage, setExpandedMessageId, isExpanded, currentRating, handleRating, mode, isCopyButtonEnabled, isFeedbackEnabled, onCopy, }) => {
|
|
9497
|
+
const ChatMessageItem = react.memo(({ message, participant, participants, isLastMessage, onMessage, setExpandedMessageId, isExpanded, currentRating, handleRating, mode, isCopyButtonEnabled, isFeedbackEnabled, onCopy, onCreateAgent, }) => {
|
|
9262
9498
|
const avatarSrc = (participant === null || participant === void 0 ? void 0 : participant.avatarSrc) || '';
|
|
9263
9499
|
const [isAvatarTooltipVisible, setIsAvatarTooltipVisible] = react.useState(false);
|
|
9264
9500
|
const [avatarTooltipPosition, setAvatarTooltipPosition] = react.useState(null);
|
|
@@ -9401,7 +9637,7 @@
|
|
|
9401
9637
|
? ' ' + chatStyles.copiedTooltipLeft
|
|
9402
9638
|
: tooltipAlign === 'right'
|
|
9403
9639
|
? ' ' + chatStyles.copiedTooltipRight
|
|
9404
|
-
: ''), children: "Copied!" }))] }) })), message.isVoiceCall && (jsxRuntime.jsx("div", { className: chatStyles.voiceCallIndicator, children: jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: jsxRuntime.jsx("path", { d: "M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z" }) }) })), message.content === LOADING_INTERACTIVE_IMAGE ? (jsxRuntime.jsx(jsxRuntime.Fragment, {})) : (jsxRuntime.jsx("div", { ref: contentWithoutButtonsRef, children: jsxRuntime.jsx(MarkdownContent, { content: contentWithoutButtons }) })), !message.isComplete && jsxRuntime.jsx("span", { className: chatStyles.NonCompleteMessageFiller, children: '_'.repeat(70) }), shouldShowButtons && (jsxRuntime.jsx("div", { className: chatStyles.messageButtons, children: buttons.map((button, buttonIndex) => (jsxRuntime.jsx("button", { className: chatStyles.messageButton, onClick: (event) => {
|
|
9640
|
+
: ''), children: "Copied!" }))] }) })), message.isVoiceCall && (jsxRuntime.jsx("div", { className: chatStyles.voiceCallIndicator, children: jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: jsxRuntime.jsx("path", { d: "M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z" }) }) })), message.content === LOADING_INTERACTIVE_IMAGE ? (jsxRuntime.jsx(jsxRuntime.Fragment, {})) : (jsxRuntime.jsx("div", { ref: contentWithoutButtonsRef, children: jsxRuntime.jsx(MarkdownContent, { content: contentWithoutButtons, onCreateAgent: onCreateAgent }) })), !message.isComplete && jsxRuntime.jsx("span", { className: chatStyles.NonCompleteMessageFiller, children: '_'.repeat(70) }), shouldShowButtons && (jsxRuntime.jsx("div", { className: chatStyles.messageButtons, children: buttons.map((button, buttonIndex) => (jsxRuntime.jsx("button", { className: chatStyles.messageButton, onClick: (event) => {
|
|
9405
9641
|
event.stopPropagation();
|
|
9406
9642
|
if (onMessage) {
|
|
9407
9643
|
onMessage(button.message);
|
|
@@ -9484,7 +9720,7 @@
|
|
|
9484
9720
|
// isExperimental = false,
|
|
9485
9721
|
// TODO: [😅]> isSaveButtonEnabled = false,
|
|
9486
9722
|
// exportHeaderMarkdown,
|
|
9487
|
-
participants = [], extraActions, actionsContainer, saveFormats, isSaveButtonEnabled = true, isCopyButtonEnabled = true, buttonColor: buttonColorRaw, onUseTemplate, } = props;
|
|
9723
|
+
participants = [], extraActions, actionsContainer, saveFormats, isSaveButtonEnabled = true, isCopyButtonEnabled = true, buttonColor: buttonColorRaw, onUseTemplate, onCreateAgent, } = props;
|
|
9488
9724
|
const buttonColor = react.useMemo(() => Color.from(buttonColorRaw || '#0066cc'), [buttonColorRaw]);
|
|
9489
9725
|
// Use the auto-scroll hook
|
|
9490
9726
|
const { isAutoScrolling, chatMessagesRef, handleScroll, handleMessagesChange, scrollToBottom, isMobile: isMobileFromHook, } = useChatAutoScroll();
|
|
@@ -9780,7 +10016,7 @@
|
|
|
9780
10016
|
const isLastMessage = i === postprocessedMessages.length - 1;
|
|
9781
10017
|
const isExpanded = expandedMessageId === message.id;
|
|
9782
10018
|
const currentRating = messageRatings.get(message.id || message.content /* <-[💃] */) || 0;
|
|
9783
|
-
return (jsxRuntime.jsx(ChatMessageItem, { message: message, participant: participant, participants: participants, isLastMessage: isLastMessage, onMessage: onMessage, setExpandedMessageId: setExpandedMessageId, isExpanded: isExpanded, currentRating: currentRating, handleRating: handleRating, mode: mode, isCopyButtonEnabled: isCopyButtonEnabled, isFeedbackEnabled: isFeedbackEnabled, onCopy: handleCopy }, message.id));
|
|
10019
|
+
return (jsxRuntime.jsx(ChatMessageItem, { message: message, participant: participant, participants: participants, isLastMessage: isLastMessage, onMessage: onMessage, setExpandedMessageId: setExpandedMessageId, isExpanded: isExpanded, currentRating: currentRating, handleRating: handleRating, mode: mode, isCopyButtonEnabled: isCopyButtonEnabled, isFeedbackEnabled: isFeedbackEnabled, onCopy: handleCopy, onCreateAgent: onCreateAgent }, message.id));
|
|
9784
10020
|
}), jsxRuntime.jsx("div", {
|
|
9785
10021
|
// Note: Extra space at bottom for input area
|
|
9786
10022
|
style: { height: 100 } })] }), onMessage && (jsxRuntime.jsxs("div", { className: classNames(chatStyles.chatInput, useChatCssClassName('chatInput'), isDragOver && chatStyles.dragOver), ...(onFileUpload
|
|
@@ -17742,7 +17978,7 @@
|
|
|
17742
17978
|
* TODO: !!! Agent on remote server
|
|
17743
17979
|
*/
|
|
17744
17980
|
|
|
17745
|
-
var css_248z = ".PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegration__KTAQl{bottom:20px;font-family:sans-serif;position:fixed;right:20px;z-index:10000}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationButton__beMWa{align-items:center;background-color:#007bff;border-radius:30px;box-shadow:0 4px 12px rgba(0,0,0,.15);color:#fff;cursor:pointer;display:flex;padding:10px 20px;position:relative;transition:transform .2s,box-shadow .2s}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationButton__beMWa:hover{box-shadow:0 6px 16px rgba(0,0,0,.2);transform:translateY(-2px)}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationAvatar__OrK-R{background-color:#eee;border-radius:50%;height:32px;margin-right:10px;overflow:hidden;transform:translate(-10px) scale(1.3);width:32px}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationAvatar__OrK-R img{height:100%;object-fit:cover;width:100%}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationLabel__gvgCn{font-weight:700}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationStatus__QBwnt{border:2px solid #fff;border-radius:50%;bottom:12px;height:12px;left:40px;position:absolute;width:12px;z-index:10}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationStatusConnected__w15ZJ{background-color:#57b660}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationStatusPending__vtVxc{background-color:#9e9e9e}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationStatusError__nu02u{background-color:#f44336}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegration__KTAQl.PromptbookAgentSeamlessIntegration-module_open__rt5ey .PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationButton__beMWa{display:none}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationWindow__6sxeZ{animation:PromptbookAgentSeamlessIntegration-module_promptbook-agent-slide-up__0dGVe .3s ease-out;background-color:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.2);display:flex;flex-direction:column;height:600px;max-height:80vh;overflow:hidden;width:380px}@keyframes PromptbookAgentSeamlessIntegration-module_promptbook-agent-slide-up__0dGVe{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationHeader__9ae8B{align-items:center;background-color:#007bff;color:#fff;display:flex;justify-content:space-between;padding:15px}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationHeader__9ae8B button{align-items:center!important;background:transparent!important;border:none!important;border-radius:50%!important;box-shadow:none!important;color:inherit!important;cursor:pointer;display:flex!important;height:32px!important;justify-content:center!important;margin:0 2px!important;min-width:32px!important;opacity:.8;padding:5px!important;transition:opacity .2s}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationHeader__9ae8B button:hover{background-color:hsla(0,0%,100%,.2)!important;opacity:1}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationHeader__9ae8B button span{display:none!important}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationHeader__9ae8B button svg{height:20px;width:20px}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationTitle__D6p2j{font-size:1.1em;font-weight:700}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationClose__Ot41T{font-size:1.2em}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationContent__xqAns{display:flex;flex:1;flex-direction:column;overflow-y:auto;position:relative}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationError__RaBDa,.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationLoading__OAqgE{align-items:center;color:#666;display:flex;flex:1;justify-content:center;padding:20px;text-align:center}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationError__RaBDa{color:#d32f2f}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationIframe__KX5iC{border:none;flex:1;height:100%;width:100%}@media (max-width:480px){.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegration__KTAQl.PromptbookAgentSeamlessIntegration-module_open__rt5ey{bottom:0;left:0;right:0}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationWindow__6sxeZ{border-radius:0;height:100vh;max-height:100vh;width:100%}}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb24ubW9kdWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxRkFFSSxXQUFZLENBR1osc0JBQXVCLENBSnZCLGNBQWUsQ0FFZixVQUFXLENBQ1gsYUFFSixDQUVBLDJGQUVJLGtCQUFtQixDQUNuQix3QkFBeUIsQ0FFekIsa0JBQW1CLENBR25CLHFDQUEwQyxDQUoxQyxVQUFZLENBR1osY0FBZSxDQU5mLFlBQWEsQ0FLYixpQkFBa0IsQ0FJbEIsaUJBQWtCLENBRGxCLHVDQUVKLENBRUEsaUdBRUksb0NBQXlDLENBRHpDLDBCQUVKLENBRUEsMkZBTUkscUJBQXNCLENBSHRCLGlCQUFrQixDQURsQixXQUFZLENBR1osaUJBQWtCLENBRGxCLGVBQWdCLENBSWhCLHFDQUF5QyxDQVB6QyxVQVFKLENBRUEsK0ZBRUksV0FBWSxDQUNaLGdCQUFpQixDQUZqQixVQUdKLENBRUEsMEZBQ0ksZUFDSixDQUVBLDJGQUtJLHFCQUF1QixDQUR2QixpQkFBa0IsQ0FHbEIsV0FBWSxDQUpaLFdBQVksQ0FHWixTQUFVLENBTFYsaUJBQWtCLENBQ2xCLFVBQVcsQ0FNWCxVQUNKLENBRUEsb0dBQ0ksd0JBQ0osQ0FFQSxrR0FDSSx3QkFDSixDQUVBLGdHQUNJLHdCQUNKLENBUUEsc09BQ0ksWUFDSixDQUVBLDJGQVVJLGlHQUFrRCxDQU5sRCxxQkFBdUIsQ0FDdkIsa0JBQW1CLENBQ25CLG9DQUF5QyxDQUN6QyxZQUFhLENBQ2IscUJBQXNCLENBTnRCLFlBQWEsQ0FDYixlQUFnQixDQU1oQixlQUFnQixDQVJoQixXQVVKLENBRUEsc0ZBQ0ksR0FDSSxTQUFVLENBQ1YsMEJBQ0osQ0FDQSxHQUNJLFNBQVUsQ0FDVix1QkFDSixDQUNKLENBRUEsMkZBTUksa0JBQW1CLENBTG5CLHdCQUF5QixDQUN6QixVQUFZLENBRVosWUFBYSxDQUNiLDZCQUE4QixDQUY5QixZQUlKLENBTUEsa0dBV0ksNEJBQThCLENBVjlCLGdDQUFrQyxDQUNsQyxxQkFBdUIsQ0FhdkIsMkJBQTZCLENBWjdCLHlCQUEyQixDQUMzQix1QkFBeUIsQ0FDekIsY0FBZSxDQUtmLHNCQUF3QixDQUl4QixxQkFBdUIsQ0FGdkIsZ0NBQWtDLENBSGxDLHNCQUF3QixDQUl4Qix3QkFBMEIsQ0FQMUIsVUFBWSxDQUVaLHFCQUF1QixDQUR2QixzQkFTSixDQUVBLHdHQUVJLDZDQUFxRCxDQURyRCxTQUVKLENBR0EsdUdBQ0ksc0JBQ0osQ0FHQSxzR0FFSSxXQUFZLENBRFosVUFFSixDQUVBLDBGQUVJLGVBQWdCLENBRGhCLGVBRUosQ0FFQSwwRkFFSSxlQUNKLENBRUEsNEZBSUksWUFBYSxDQUhiLE1BQU8sQ0FJUCxxQkFBc0IsQ0FIdEIsZUFBZ0IsQ0FDaEIsaUJBR0osQ0FFQSxzTEFLSSxrQkFBbUIsQ0FHbkIsVUFBVyxDQUxYLFlBQWEsQ0FEYixNQUFPLENBRVAsc0JBQXVCLENBRXZCLFlBQWEsQ0FDYixpQkFFSixDQUVBLDBGQUNJLGFBQ0osQ0FFQSwyRkFHSSxXQUFZLENBQ1osTUFBTyxDQUZQLFdBQVksQ0FEWixVQUlKLENBRUEseUJBQ0ksMklBQ0ksUUFBUyxDQUVULE1BQU8sQ0FEUCxPQUVKLENBRUEsMkZBSUksZUFBZ0IsQ0FGaEIsWUFBYSxDQUNiLGdCQUFpQixDQUZqQixVQUlKLENBQ0oiLCJmaWxlIjoiUHJvbXB0Ym9va0FnZW50U2VhbWxlc3NJbnRlZ3JhdGlvbi5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb24ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDIwcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgei1pbmRleDogMTAwMDA7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG59XG5cbi5Qcm9tcHRib29rQWdlbnRTZWFtbGVzc0ludGVncmF0aW9uQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycywgYm94LXNoYWRvdyAwLjJzO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb25CdXR0b246aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb25BdmF0YXIge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMHB4LCAwKSBzY2FsZSgxLjMpO1xufVxuXG4uUHJvbXB0Ym9va0FnZW50U2VhbWxlc3NJbnRlZ3JhdGlvbkF2YXRhciBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb25MYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5Qcm9tcHRib29rQWdlbnRTZWFtbGVzc0ludGVncmF0aW9uU3RhdHVzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgICBsZWZ0OiA0MHB4O1xuICAgIGJvdHRvbTogMTJweDtcbiAgICB6LWluZGV4OiAxMDtcbn1cblxuLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb25TdGF0dXNDb25uZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1N2I2NjA7XG59XG5cbi5Qcm9tcHRib29rQWdlbnRTZWFtbGVzc0ludGVncmF0aW9uU3RhdHVzUGVuZGluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllOWU5ZTtcbn1cblxuLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb25TdGF0dXNFcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbn1cblxuLyogU3RhdGUgY2xhc3NlcyAoZW1wdHkgdG8gYWxsb3cgbW9kdWxlIG1hcHBpbmcpICovXG4ub3BlbiB7XG59XG4uY2xvc2VkIHtcbn1cblxuLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb24ub3BlbiAuUHJvbXB0Ym9va0FnZW50U2VhbWxlc3NJbnRlZ3JhdGlvbkJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb25XaW5kb3cge1xuICAgIHdpZHRoOiAzODBweDtcbiAgICBoZWlnaHQ6IDYwMHB4O1xuICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3gtc2hhZG93OiAwIDhweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBhbmltYXRpb246IHByb21wdGJvb2stYWdlbnQtc2xpZGUtdXAgMC4zcyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBwcm9tcHRib29rLWFnZW50LXNsaWRlLXVwIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi5Qcm9tcHRib29rQWdlbnRTZWFtbGVzc0ludGVncmF0aW9uSGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qIFxuICAgT3ZlcnJpZGUgY2hhdCBhY3Rpb24gYnV0dG9ucyB0byBsb29rIGxpa2UgdGhlIGNsb3NlIGJ1dHRvbiBcbiAgIHdoZW4gcmVuZGVyZWQgaW5zaWRlIHRoZSBoZWFkZXIgdmlhIHBvcnRhbFxuKi9cbi5Qcm9tcHRib29rQWdlbnRTZWFtbGVzc0ludGVncmF0aW9uSGVhZGVyIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMC44O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgICBwYWRkaW5nOiA1cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgMnB4ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMzJweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4uUHJvbXB0Ym9va0FnZW50U2VhbWxlc3NJbnRlZ3JhdGlvbkhlYWRlciBidXR0b246aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpICFpbXBvcnRhbnQ7XG59XG5cbi8qIEhpZGUgdGV4dCBsYWJlbHMgaW5zaWRlIGJ1dHRvbnMgaW4gaGVhZGVyIChOZXcgQ2hhdCwgU2F2ZSkgKi9cbi5Qcm9tcHRib29rQWdlbnRTZWFtbGVzc0ludGVncmF0aW9uSGVhZGVyIGJ1dHRvbiBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIEVuc3VyZSBTVkcgaWNvbnMgYXJlIHZpc2libGUgYW5kIHNpemVkIGNvcnJlY3RseSAqL1xuLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb25IZWFkZXIgYnV0dG9uIHN2ZyB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xufVxuXG4uUHJvbXB0Ym9va0FnZW50U2VhbWxlc3NJbnRlZ3JhdGlvblRpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEuMWVtO1xufVxuXG4uUHJvbXB0Ym9va0FnZW50U2VhbWxlc3NJbnRlZ3JhdGlvbkNsb3NlIHtcbiAgICAvKiBVc2Ugc2FtZSBzdHlsZXMgYXMgYWJvdmUgb3ZlcnJpZGUsIGJ1dCBrZWVwIHNwZWNpZmljIGlmIG5lZWRlZCAqL1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG59XG5cbi5Qcm9tcHRib29rQWdlbnRTZWFtbGVzc0ludGVncmF0aW9uQ29udGVudCB7XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5Qcm9tcHRib29rQWdlbnRTZWFtbGVzc0ludGVncmF0aW9uTG9hZGluZyxcbi5Qcm9tcHRib29rQWdlbnRTZWFtbGVzc0ludGVncmF0aW9uRXJyb3Ige1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjNjY2O1xufVxuXG4uUHJvbXB0Ym9va0FnZW50U2VhbWxlc3NJbnRlZ3JhdGlvbkVycm9yIHtcbiAgICBjb2xvcjogI2QzMmYyZjtcbn1cblxuLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb25JZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZmxleDogMTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb24ub3BlbiB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb25XaW5kb3cge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxufVxuIl19 */";
|
|
17981
|
+
var css_248z = ".PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegration__KTAQl{bottom:20px;font-family:sans-serif;position:fixed;right:20px;z-index:10000}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationButton__beMWa{align-items:center;background-color:#007bff;border-radius:30px;box-shadow:0 4px 12px rgba(0,0,0,.15);color:#fff;cursor:pointer;display:flex;padding:10px 20px;position:relative;transition:transform .2s,box-shadow .2s}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationButton__beMWa:hover{box-shadow:0 6px 16px rgba(0,0,0,.2);transform:translateY(-2px)}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationAvatar__OrK-R{background-color:#eee;border-radius:50%;height:32px;margin-right:10px;overflow:hidden;transform:translate(-10px) scale(1.3);width:32px}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationAvatar__OrK-R img{height:100%;object-fit:cover;width:100%}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationLabel__gvgCn{font-weight:700}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationStatus__QBwnt{border:2px solid #fff;border-radius:50%;bottom:12px;height:12px;left:40px;position:absolute;width:12px;z-index:10}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationStatusConnected__w15ZJ{background-color:#57b660}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationStatusPending__vtVxc{background-color:#9e9e9e}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationStatusError__nu02u{background-color:#f44336}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegration__KTAQl.PromptbookAgentSeamlessIntegration-module_open__rt5ey .PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationButton__beMWa{display:none}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationWindow__6sxeZ{animation:PromptbookAgentSeamlessIntegration-module_promptbook-agent-slide-up__0dGVe .3s ease-out;background-color:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.2);display:flex;flex-direction:column;height:600px;max-height:80vh;overflow:hidden;width:380px}@keyframes PromptbookAgentSeamlessIntegration-module_promptbook-agent-slide-up__0dGVe{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationHeader__9ae8B{align-items:center;background-color:#007bff;color:#fff;display:flex;justify-content:space-between;padding:15px}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationHeader__9ae8B button{align-items:center!important;background:transparent!important;border:none!important;border-radius:50%!important;box-shadow:none!important;color:inherit!important;cursor:pointer;display:flex!important;height:32px!important;justify-content:center!important;margin:0 2px!important;min-width:32px!important;opacity:.8;padding:5px!important;transition:opacity .2s}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationHeader__9ae8B button:hover{background-color:hsla(0,0%,100%,.2)!important;opacity:1}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationHeader__9ae8B button span{display:none!important}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationHeader__9ae8B button svg{height:20px;width:20px}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationTitle__D6p2j{font-size:1.1em;font-weight:700}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationClose__Ot41T{font-size:1.2em}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationContent__xqAns{display:flex;flex:1;flex-direction:column;overflow-y:auto;position:relative}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationError__RaBDa,.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationLoading__OAqgE{align-items:center;color:#666;display:flex;flex:1;justify-content:center;padding:20px;text-align:center}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationError__RaBDa{color:#d32f2f}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationIframe__KX5iC{border:none;height:100%;left:0;position:absolute;top:0;transition:opacity .2s ease-in-out;width:100%}@media (max-width:480px){.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegration__KTAQl.PromptbookAgentSeamlessIntegration-module_open__rt5ey{bottom:0;left:0;right:0}.PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationWindow__6sxeZ{border-radius:0;height:100vh;max-height:100vh;width:100%}}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb24ubW9kdWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxRkFFSSxXQUFZLENBR1osc0JBQXVCLENBSnZCLGNBQWUsQ0FFZixVQUFXLENBQ1gsYUFFSixDQUVBLDJGQUVJLGtCQUFtQixDQUNuQix3QkFBeUIsQ0FFekIsa0JBQW1CLENBR25CLHFDQUEwQyxDQUoxQyxVQUFZLENBR1osY0FBZSxDQU5mLFlBQWEsQ0FLYixpQkFBa0IsQ0FJbEIsaUJBQWtCLENBRGxCLHVDQUVKLENBRUEsaUdBRUksb0NBQXlDLENBRHpDLDBCQUVKLENBRUEsMkZBTUkscUJBQXNCLENBSHRCLGlCQUFrQixDQURsQixXQUFZLENBR1osaUJBQWtCLENBRGxCLGVBQWdCLENBSWhCLHFDQUF5QyxDQVB6QyxVQVFKLENBRUEsK0ZBRUksV0FBWSxDQUNaLGdCQUFpQixDQUZqQixVQUdKLENBRUEsMEZBQ0ksZUFDSixDQUVBLDJGQUtJLHFCQUF1QixDQUR2QixpQkFBa0IsQ0FHbEIsV0FBWSxDQUpaLFdBQVksQ0FHWixTQUFVLENBTFYsaUJBQWtCLENBQ2xCLFVBQVcsQ0FNWCxVQUNKLENBRUEsb0dBQ0ksd0JBQ0osQ0FFQSxrR0FDSSx3QkFDSixDQUVBLGdHQUNJLHdCQUNKLENBUUEsc09BQ0ksWUFDSixDQUVBLDJGQVVJLGlHQUFrRCxDQU5sRCxxQkFBdUIsQ0FDdkIsa0JBQW1CLENBQ25CLG9DQUF5QyxDQUN6QyxZQUFhLENBQ2IscUJBQXNCLENBTnRCLFlBQWEsQ0FDYixlQUFnQixDQU1oQixlQUFnQixDQVJoQixXQVVKLENBRUEsc0ZBQ0ksR0FDSSxTQUFVLENBQ1YsMEJBQ0osQ0FDQSxHQUNJLFNBQVUsQ0FDVix1QkFDSixDQUNKLENBRUEsMkZBTUksa0JBQW1CLENBTG5CLHdCQUF5QixDQUN6QixVQUFZLENBRVosWUFBYSxDQUNiLDZCQUE4QixDQUY5QixZQUlKLENBTUEsa0dBV0ksNEJBQThCLENBVjlCLGdDQUFrQyxDQUNsQyxxQkFBdUIsQ0FhdkIsMkJBQTZCLENBWjdCLHlCQUEyQixDQUMzQix1QkFBeUIsQ0FDekIsY0FBZSxDQUtmLHNCQUF3QixDQUl4QixxQkFBdUIsQ0FGdkIsZ0NBQWtDLENBSGxDLHNCQUF3QixDQUl4Qix3QkFBMEIsQ0FQMUIsVUFBWSxDQUVaLHFCQUF1QixDQUR2QixzQkFTSixDQUVBLHdHQUVJLDZDQUFxRCxDQURyRCxTQUVKLENBR0EsdUdBQ0ksc0JBQ0osQ0FHQSxzR0FFSSxXQUFZLENBRFosVUFFSixDQUVBLDBGQUVJLGVBQWdCLENBRGhCLGVBRUosQ0FFQSwwRkFFSSxlQUNKLENBRUEsNEZBSUksWUFBYSxDQUhiLE1BQU8sQ0FJUCxxQkFBc0IsQ0FIdEIsZUFBZ0IsQ0FDaEIsaUJBR0osQ0FFQSxzTEFLSSxrQkFBbUIsQ0FHbkIsVUFBVyxDQUxYLFlBQWEsQ0FEYixNQUFPLENBRVAsc0JBQXVCLENBRXZCLFlBQWEsQ0FDYixpQkFFSixDQUVBLDBGQUNJLGFBQ0osQ0FFQSwyRkFNSSxXQUFZLENBRFosV0FBWSxDQUZaLE1BQU8sQ0FGUCxpQkFBa0IsQ0FDbEIsS0FBTSxDQUtOLGtDQUFvQyxDQUhwQyxVQUlKLENBRUEseUJBQ0ksMklBQ0ksUUFBUyxDQUVULE1BQU8sQ0FEUCxPQUVKLENBRUEsMkZBSUksZUFBZ0IsQ0FGaEIsWUFBYSxDQUNiLGdCQUFpQixDQUZqQixVQUlKLENBQ0oiLCJmaWxlIjoiUHJvbXB0Ym9va0FnZW50U2VhbWxlc3NJbnRlZ3JhdGlvbi5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb24ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDIwcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgei1pbmRleDogMTAwMDA7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG59XG5cbi5Qcm9tcHRib29rQWdlbnRTZWFtbGVzc0ludGVncmF0aW9uQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycywgYm94LXNoYWRvdyAwLjJzO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb25CdXR0b246aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb25BdmF0YXIge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMHB4LCAwKSBzY2FsZSgxLjMpO1xufVxuXG4uUHJvbXB0Ym9va0FnZW50U2VhbWxlc3NJbnRlZ3JhdGlvbkF2YXRhciBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb25MYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5Qcm9tcHRib29rQWdlbnRTZWFtbGVzc0ludGVncmF0aW9uU3RhdHVzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgICBsZWZ0OiA0MHB4O1xuICAgIGJvdHRvbTogMTJweDtcbiAgICB6LWluZGV4OiAxMDtcbn1cblxuLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb25TdGF0dXNDb25uZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1N2I2NjA7XG59XG5cbi5Qcm9tcHRib29rQWdlbnRTZWFtbGVzc0ludGVncmF0aW9uU3RhdHVzUGVuZGluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllOWU5ZTtcbn1cblxuLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb25TdGF0dXNFcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbn1cblxuLyogU3RhdGUgY2xhc3NlcyAoZW1wdHkgdG8gYWxsb3cgbW9kdWxlIG1hcHBpbmcpICovXG4ub3BlbiB7XG59XG4uY2xvc2VkIHtcbn1cblxuLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb24ub3BlbiAuUHJvbXB0Ym9va0FnZW50U2VhbWxlc3NJbnRlZ3JhdGlvbkJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb25XaW5kb3cge1xuICAgIHdpZHRoOiAzODBweDtcbiAgICBoZWlnaHQ6IDYwMHB4O1xuICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3gtc2hhZG93OiAwIDhweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBhbmltYXRpb246IHByb21wdGJvb2stYWdlbnQtc2xpZGUtdXAgMC4zcyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBwcm9tcHRib29rLWFnZW50LXNsaWRlLXVwIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi5Qcm9tcHRib29rQWdlbnRTZWFtbGVzc0ludGVncmF0aW9uSGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qIFxuICAgT3ZlcnJpZGUgY2hhdCBhY3Rpb24gYnV0dG9ucyB0byBsb29rIGxpa2UgdGhlIGNsb3NlIGJ1dHRvbiBcbiAgIHdoZW4gcmVuZGVyZWQgaW5zaWRlIHRoZSBoZWFkZXIgdmlhIHBvcnRhbFxuKi9cbi5Qcm9tcHRib29rQWdlbnRTZWFtbGVzc0ludGVncmF0aW9uSGVhZGVyIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMC44O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgICBwYWRkaW5nOiA1cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgMnB4ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMzJweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4uUHJvbXB0Ym9va0FnZW50U2VhbWxlc3NJbnRlZ3JhdGlvbkhlYWRlciBidXR0b246aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpICFpbXBvcnRhbnQ7XG59XG5cbi8qIEhpZGUgdGV4dCBsYWJlbHMgaW5zaWRlIGJ1dHRvbnMgaW4gaGVhZGVyIChOZXcgQ2hhdCwgU2F2ZSkgKi9cbi5Qcm9tcHRib29rQWdlbnRTZWFtbGVzc0ludGVncmF0aW9uSGVhZGVyIGJ1dHRvbiBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIEVuc3VyZSBTVkcgaWNvbnMgYXJlIHZpc2libGUgYW5kIHNpemVkIGNvcnJlY3RseSAqL1xuLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb25IZWFkZXIgYnV0dG9uIHN2ZyB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xufVxuXG4uUHJvbXB0Ym9va0FnZW50U2VhbWxlc3NJbnRlZ3JhdGlvblRpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEuMWVtO1xufVxuXG4uUHJvbXB0Ym9va0FnZW50U2VhbWxlc3NJbnRlZ3JhdGlvbkNsb3NlIHtcbiAgICAvKiBVc2Ugc2FtZSBzdHlsZXMgYXMgYWJvdmUgb3ZlcnJpZGUsIGJ1dCBrZWVwIHNwZWNpZmljIGlmIG5lZWRlZCAqL1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG59XG5cbi5Qcm9tcHRib29rQWdlbnRTZWFtbGVzc0ludGVncmF0aW9uQ29udGVudCB7XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5Qcm9tcHRib29rQWdlbnRTZWFtbGVzc0ludGVncmF0aW9uTG9hZGluZyxcbi5Qcm9tcHRib29rQWdlbnRTZWFtbGVzc0ludGVncmF0aW9uRXJyb3Ige1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjNjY2O1xufVxuXG4uUHJvbXB0Ym9va0FnZW50U2VhbWxlc3NJbnRlZ3JhdGlvbkVycm9yIHtcbiAgICBjb2xvcjogI2QzMmYyZjtcbn1cblxuLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb25JZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb24ub3BlbiB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLlByb21wdGJvb2tBZ2VudFNlYW1sZXNzSW50ZWdyYXRpb25XaW5kb3cge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxufVxuIl19 */";
|
|
17746
17982
|
var styles = {"PromptbookAgentSeamlessIntegration":"PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegration__KTAQl","PromptbookAgentSeamlessIntegrationButton":"PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationButton__beMWa","PromptbookAgentSeamlessIntegrationAvatar":"PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationAvatar__OrK-R","PromptbookAgentSeamlessIntegrationLabel":"PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationLabel__gvgCn","PromptbookAgentSeamlessIntegrationStatus":"PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationStatus__QBwnt","PromptbookAgentSeamlessIntegrationStatusConnected":"PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationStatusConnected__w15ZJ","PromptbookAgentSeamlessIntegrationStatusPending":"PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationStatusPending__vtVxc","PromptbookAgentSeamlessIntegrationStatusError":"PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationStatusError__nu02u","open":"PromptbookAgentSeamlessIntegration-module_open__rt5ey","closed":"PromptbookAgentSeamlessIntegration-module_closed__VPHQ-","PromptbookAgentSeamlessIntegrationWindow":"PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationWindow__6sxeZ","promptbook-agent-slide-up":"PromptbookAgentSeamlessIntegration-module_promptbook-agent-slide-up__0dGVe","PromptbookAgentSeamlessIntegrationHeader":"PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationHeader__9ae8B","PromptbookAgentSeamlessIntegrationTitle":"PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationTitle__D6p2j","PromptbookAgentSeamlessIntegrationClose":"PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationClose__Ot41T","PromptbookAgentSeamlessIntegrationContent":"PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationContent__xqAns","PromptbookAgentSeamlessIntegrationLoading":"PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationLoading__OAqgE","PromptbookAgentSeamlessIntegrationError":"PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationError__RaBDa","PromptbookAgentSeamlessIntegrationIframe":"PromptbookAgentSeamlessIntegration-module_PromptbookAgentSeamlessIntegrationIframe__KX5iC"};
|
|
17747
17983
|
styleInject(css_248z);
|
|
17748
17984
|
|
|
@@ -17756,10 +17992,14 @@
|
|
|
17756
17992
|
const { agentUrl, meta, onOpenChange, className, style, isFocusedOnLoad, isIframeUsed = false } = props;
|
|
17757
17993
|
const [isOpen, setIsOpen] = react.useState(false);
|
|
17758
17994
|
const [headerElement, setHeaderElement] = react.useState(null);
|
|
17995
|
+
const [isIframeLoaded, setIsIframeLoaded] = react.useState(false);
|
|
17759
17996
|
react.useEffect(() => {
|
|
17760
17997
|
if (onOpenChange) {
|
|
17761
17998
|
onOpenChange(isOpen);
|
|
17762
17999
|
}
|
|
18000
|
+
if (!isOpen) {
|
|
18001
|
+
setIsIframeLoaded(false);
|
|
18002
|
+
}
|
|
17763
18003
|
}, [isOpen, onOpenChange]);
|
|
17764
18004
|
const [agent, setAgent] = react.useState(null);
|
|
17765
18005
|
const [error, setError] = react.useState(null);
|
|
@@ -17815,7 +18055,7 @@
|
|
|
17815
18055
|
? styles.PromptbookAgentSeamlessIntegrationStatusConnected
|
|
17816
18056
|
: connectionStatus === 'error'
|
|
17817
18057
|
? styles.PromptbookAgentSeamlessIntegrationStatusError
|
|
17818
|
-
: styles.PromptbookAgentSeamlessIntegrationStatusPending}` }), jsxRuntime.jsx("div", { className: styles.PromptbookAgentSeamlessIntegrationLabel, children: "CHAT" })] }), isOpen && (jsxRuntime.jsxs("div", { className: styles.PromptbookAgentSeamlessIntegrationWindow, children: [jsxRuntime.
|
|
18058
|
+
: styles.PromptbookAgentSeamlessIntegrationStatusPending}` }), jsxRuntime.jsx("div", { className: styles.PromptbookAgentSeamlessIntegrationLabel, children: "CHAT" })] }), isOpen && (jsxRuntime.jsxs("div", { className: styles.PromptbookAgentSeamlessIntegrationWindow, children: [jsxRuntime.jsxs("div", { className: styles.PromptbookAgentSeamlessIntegrationHeader, style: { backgroundColor: color }, ref: setHeaderElement, children: [jsxRuntime.jsx("div", { className: styles.PromptbookAgentSeamlessIntegrationTitle, children: (agent === null || agent === void 0 ? void 0 : agent.meta.fullname) || (meta === null || meta === void 0 ? void 0 : meta.fullname) || (agent === null || agent === void 0 ? void 0 : agent.agentName) || 'Chat with Agent' }), isIframeUsed && (jsxRuntime.jsx("button", { className: styles.PromptbookAgentSeamlessIntegrationClose, onClick: () => setIsOpen(false), title: "Close", children: jsxRuntime.jsx(CloseIcon, {}) }))] }), jsxRuntime.jsx("div", { className: styles.PromptbookAgentSeamlessIntegrationContent, children: isIframeUsed ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [!isIframeLoaded && (jsxRuntime.jsx("div", { className: styles.PromptbookAgentSeamlessIntegrationLoading, children: "Loading chat..." })), jsxRuntime.jsx("iframe", { src: agentUrl + '/chat?headless', className: styles.PromptbookAgentSeamlessIntegrationIframe, style: { opacity: isIframeLoaded ? 1 : 0 }, tabIndex: -1, onLoad: () => setIsIframeLoaded(true) })] })) : agent ? (jsxRuntime.jsx(AgentChat, { agent: agent, actionsContainer: headerElement, isFocusedOnLoad: isFocusedOnLoad, extraActions: jsxRuntime.jsx("button", { className: styles.PromptbookAgentSeamlessIntegrationClose, onClick: () => setIsOpen(false), title: "Close", children: jsxRuntime.jsx(CloseIcon, {}) }) })) : error ? (jsxRuntime.jsxs("div", { className: styles.PromptbookAgentSeamlessIntegrationError, children: ["Failed to connect to agent: ", error.message] })) : (jsxRuntime.jsx("div", { className: styles.PromptbookAgentSeamlessIntegrationLoading, children: "Connecting to agent..." })) })] }))] }));
|
|
17819
18059
|
}
|
|
17820
18060
|
|
|
17821
18061
|
/**
|