@red-hat-developer-hub/backstage-plugin-lightspeed 2.8.1 → 2.8.3
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/CHANGELOG.md +15 -0
- package/dist/alpha/LightspeedFAB.esm.js +5 -2
- package/dist/alpha/LightspeedFAB.esm.js.map +1 -1
- package/dist/alpha.d.ts +5 -3
- package/dist/components/CollapsedHistoryStrip.esm.js +25 -22
- package/dist/components/CollapsedHistoryStrip.esm.js.map +1 -1
- package/dist/components/LightSpeedChat.esm.js +17 -12
- package/dist/components/LightSpeedChat.esm.js.map +1 -1
- package/dist/components/LightspeedChatBoxHeader.esm.js +6 -3
- package/dist/components/LightspeedChatBoxHeader.esm.js.map +1 -1
- package/dist/components/LightspeedChatContainer.esm.js +4 -2
- package/dist/components/LightspeedChatContainer.esm.js.map +1 -1
- package/dist/components/LightspeedDrawerProvider.esm.js +6 -3
- package/dist/components/LightspeedDrawerProvider.esm.js.map +1 -1
- package/dist/components/LightspeedFAB.esm.js +5 -2
- package/dist/components/LightspeedFAB.esm.js.map +1 -1
- package/dist/components/McpSettingsIcon.esm.js +14 -22
- package/dist/components/McpSettingsIcon.esm.js.map +1 -1
- package/dist/components/Router.esm.js +13 -4
- package/dist/components/Router.esm.js.map +1 -1
- package/dist/components/notebooks/DeleteDocumentModal.esm.js +131 -0
- package/dist/components/notebooks/DeleteDocumentModal.esm.js.map +1 -0
- package/dist/components/notebooks/NotebookView.esm.js +46 -29
- package/dist/components/notebooks/NotebookView.esm.js.map +1 -1
- package/dist/hooks/notebooks/useDocumentStatusPolling.esm.js +2 -1
- package/dist/hooks/notebooks/useDocumentStatusPolling.esm.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/translations/de.esm.js +229 -229
- package/dist/translations/de.esm.js.map +1 -1
- package/dist/translations/es.esm.js +229 -231
- package/dist/translations/es.esm.js.map +1 -1
- package/dist/translations/fr.esm.js +229 -233
- package/dist/translations/fr.esm.js.map +1 -1
- package/dist/translations/it.esm.js +227 -233
- package/dist/translations/it.esm.js.map +1 -1
- package/dist/translations/ja.esm.js +227 -231
- package/dist/translations/ja.esm.js.map +1 -1
- package/dist/translations/ref.esm.js +8 -7
- package/dist/translations/ref.esm.js.map +1 -1
- package/dist/utils/generateClassName.esm.js +12 -0
- package/dist/utils/generateClassName.esm.js.map +1 -0
- package/dist/utils/lightspeed-chatbox-utils.esm.js +2 -2
- package/dist/utils/lightspeed-chatbox-utils.esm.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ja.esm.js","sources":["../../src/translations/ja.ts"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\n\nimport { lightspeedTranslationRef } from './ref';\n\n/**\n * Japanese translation for plugin.lightspeed.\n * @public\n */\nconst lightspeedTranslationJa = createTranslationMessages({\n ref: lightspeedTranslationRef,\n messages: {\n 'page.title': 'Lightspeed',\n 'page.subtitle': 'AI 搭載開発アシスタント',\n 'tabs.ariaLabel': 'Lightspeed のビュー',\n 'tabs.chat': 'チャット',\n 'tabs.notebooks': 'ノートブック',\n 'tabs.notebooks.devPreview': '開発者プレビュー',\n 'tabs.notebooks.empty': 'ノートブックの内容はここに表示されます。',\n 'notebooks.title': 'マイノートブック',\n 'notebooks.empty.title': '作成されたノートブックはありません',\n 'notebooks.empty.description':\n '新しいノートブックを作成してソースを整理し、AI による洞察を生成します。',\n 'notebooks.empty.action': '新しいノートブックを作成',\n 'notebooks.documents': 'ドキュメント',\n 'notebooks.actions.rename': '名前の変更',\n 'notebooks.actions.delete': '削除',\n 'notebooks.rename.title': '{{name}} の名前を変更しますか?',\n 'notebooks.rename.description':\n 'このノートブックの新しい名前を入力し、送信をクリックして続行してください。',\n 'notebooks.rename.label': '新しい名前',\n 'notebooks.rename.placeholder': '新しい名前',\n 'notebooks.rename.action': '送信',\n 'notebooks.delete.title': '{{name}} を削除しますか?',\n 'notebooks.delete.message':\n 'このノートブックはここに表示されなくなります。Lightspeed アクティビティに関連するプロンプト、応答、フィードバックも削除されます。',\n 'notebooks.delete.action': '削除',\n 'notebooks.delete.toast': 'ノートブックを削除しました!',\n 'notebooks.updated.today': '今日更新',\n 'notebooks.updated.yesterday': '1日前に更新',\n 'notebooks.updated.days': '{{days}}日前に更新',\n 'notebooks.updated.on': '更新日',\n 'notebooks.card.openAria': 'ノートブック {{name}} を開く',\n\n // Notebook sample prompts\n 'notebooks.prompts.coreConcepts.title': 'コアコンセプトは何ですか?',\n 'notebooks.prompts.vulnerabilities.title': '重大な脆弱性を表示してください',\n 'notebooks.prompts.accessIssue.title': 'アクセスの問題を解決してください',\n\n // Notebook view\n 'notebook.view.title': '無題のノートブック',\n 'notebook.view.close': 'ノートブックを閉じる',\n 'notebook.view.documents.count': '{{count}} 件のドキュメント',\n 'notebook.view.documents.add': '追加',\n 'notebook.view.upload.heading':\n 'リソースをアップロードして開始してください',\n 'notebook.view.upload.action': 'リソースをアップロード',\n 'notebook.view.input.placeholder': 'ドキュメントについて質問する...',\n 'notebook.view.input.disabledTooltip':\n 'チャットを開始するには、少なくとも1つのロード済みリソースを選択してください',\n 'notebook.view.sidebar.collapse': 'サイドバーを折りたたむ',\n 'notebook.view.sidebar.expand': 'サイドバーを展開する',\n 'notebook.view.sidebar.resize': 'サイドバーのサイズを変更する',\n 'notebook.view.documents.uploading': 'ドキュメントをアップロード中',\n 'notebook.view.documents.maxReached':\n '最大10個のドキュメントが許可されています。新しいドキュメントをアップロードするには、ドキュメントを削除してください。',\n 'notebook.upload.success': '{{fileName}} のアップロードに成功しました。',\n 'notebook.upload.failed': '{{fileName}} のアップロードに失敗しました。',\n\n // Notebook upload modal\n 'notebook.upload.modal.title': 'ノートブックにドキュメントを追加',\n 'notebook.upload.modal.dragDropTitle': 'ここにファイルをドラッグ&ドロップ',\n 'notebook.upload.modal.browseButton': 'アップロード',\n 'notebook.upload.modal.separator': 'または',\n 'notebook.upload.modal.infoText':\n '対応ファイル形式: .md, .txt, .pdf, .json, .yaml, .log',\n 'notebook.upload.modal.selectedFiles':\n '{{max}} 件中 {{count}} 件のファイルを選択',\n 'notebook.upload.modal.addButton': '追加 ({{count}})',\n 'notebook.upload.modal.removeFile': '{{fileName}} を削除',\n 'notebook.upload.error.unsupportedType':\n 'アップロードエラー: サポートされていないファイル形式が見つかりました。サポートされているファイル形式のみをアップロードしてください。',\n 'notebook.upload.error.fileTooLarge':\n 'アップロードエラー: ファイルサイズが 25 MB の制限を超えています。',\n 'notebook.upload.error.tooManyFiles':\n 'アップロードエラー: 最大 {{max}} ファイルまで許可されています。',\n\n // Notebook overwrite modal\n 'notebook.overwrite.modal.title': 'ファイルを上書きしますか?',\n 'notebook.overwrite.modal.description':\n '以下のファイルはこのノートブックに既に存在します。新しいバージョンで上書きしますか?',\n 'notebook.overwrite.modal.action': '上書き',\n 'notebook.document.delete': '削除',\n\n 'prompts.codeReadability.title': 'コードの可読性に関するヘルプを利用する',\n 'prompts.codeReadability.message':\n 'コードの可読性と保守性を高めるための手法を提案してくれませんか?',\n 'prompts.debugging.title': 'デバッグに関するヘルプを利用する',\n 'prompts.debugging.message':\n 'アプリケーションがデータベースに接続しようとするとエラーが発生します。問題の特定を手伝ってくれませんか?',\n 'prompts.developmentConcept.title': '開発コンセプトを説明する',\n 'prompts.developmentConcept.message':\n 'マイクロサービスアーキテクチャーの仕組みと、モノリシックな設計と比べた利点について説明してくれませんか?',\n 'prompts.codeOptimization.title': 'コードの最適化を提案する',\n 'prompts.codeOptimization.message':\n 'コードを最適化してパフォーマンスを向上させるための一般的な方法を提案してくれませんか?',\n 'prompts.documentation.title': 'ドキュメントの要約',\n 'prompts.documentation.message':\n 'Web アプリケーションでの OAuth 2.0 認証の実装に関するドキュメントを要約してくれませんか?',\n 'prompts.gitWorkflows.title': 'Git を使用したワークフロー',\n 'prompts.gitWorkflows.message':\n '既存の作業内容を失うことなく、別のブランチのコードに変更を加えたいです。Git を使用してこれを行うにはどうすればよいですか?',\n 'prompts.testingStrategies.title': 'テスト方法を提案する',\n 'prompts.testingStrategies.message':\n '堅牢でエラーのないアプリケーションを構築するための一般的なテスト方法をいくつか提案してくれませんか?',\n 'prompts.sortingAlgorithms.title':\n 'ソートのアルゴリズムをわかりやすく説明する',\n 'prompts.sortingAlgorithms.message':\n 'クイックソートとマージソートのアルゴリズムの違いと、それぞれの使用タイミングについて説明してくれませんか?',\n 'prompts.eventDriven.title': 'イベント駆動型アーキテクチャーを理解する',\n 'prompts.eventDriven.message':\n 'イベント駆動型アーキテクチャーとは何か、またそれをソフトウェア開発でどのようなときに使用すると有益かを説明してくれませんか?',\n 'prompts.tekton.title': 'Tekton を使用したデプロイ',\n 'prompts.tekton.message':\n 'Tekton パイプラインを使用してアプリケーションのデプロイを自動化するのを手伝ってくれませんか?',\n 'prompts.openshift.title': 'OpenShift デプロイメントの作成',\n 'prompts.openshift.message':\n 'コンテナー化されたアプリケーション用に OpenShift で新しいデプロイメントを作成する手順を説明してくれませんか?',\n 'prompts.rhdh.title': 'Red Hat Developer Hub を使い始める',\n 'prompts.rhdh.message':\n 'ソフトウェアカタログの探索やサービスの追加など、開発者が Developer Hub を利用する際にまず何をすべきか教えてくれませんか?',\n 'conversation.delete.confirm.title': 'チャットを削除しますか?',\n 'conversation.delete.confirm.message':\n 'このチャットはここに表示されなくなります。Lightspeed Activity からのプロンプト、回答、フィードバックなど、関連アクティビティーも削除されます。',\n 'conversation.delete.confirm.action': '削除',\n 'conversation.rename.confirm.title': 'チャットの名前を変更しますか?',\n 'conversation.rename.confirm.action': '名前の変更',\n 'conversation.rename.placeholder': 'チャット名',\n 'permission.required.title': '権限の不足',\n 'permission.required.description':\n '<subject/> を表示するには、管理者に連絡して <permissions/> 権限を付与してもらうよう依頼してください。',\n 'permission.subject.plugin': 'Lightspeed プラグイン',\n 'permission.subject.notebooks': 'Lightspeed ノートブック',\n 'permission.notebooks.goBack': '戻る',\n 'lcore.notConfigured.title': 'LLM に接続して始める',\n 'lcore.notConfigured.description':\n 'Lightspeed を使用するには登録済みの LLM が必要です。セットアップを完了するには、組織のプラットフォーム管理者にお問い合わせください。',\n 'lcore.notConfigured.developerLightspeedDocs':\n 'Developer Lightspeed を構成中',\n 'lcore.notConfigured.backendDocs': 'Lightspeed バックエンドのセットアップ',\n 'lcore.loadError.title': 'モデルを読み込めませんでした',\n 'lcore.loadError.description':\n 'Lightspeed バックエンドがモデル一覧を返しませんでした。サービスが実行中で到達可能か確認してから、もう一度お試しください。',\n 'disclaimer.withValidation':\n 'この機能は AI テクノロジーを使用します。入力内容に個人情報やその他の機密情報を含めないでください。やり取りの内容は、Red Hat の製品やサービスを改善するために使用される場合があります。',\n 'disclaimer.withoutValidation':\n 'この機能は AI テクノロジーを使用します。入力内容に個人情報やその他の機密情報を含めないでください。やり取りの内容は、Red Hat の製品やサービスを改善するために使用される場合があります。',\n 'footer.accuracy.label':\n 'AI によって生成されたコンテンツは、使用する前に必ず確認してください。',\n 'common.cancel': 'キャンセル',\n 'common.close': '閉じる',\n 'common.readMore': 'さらに表示する',\n 'common.retry': '再試行',\n 'common.loading': '読み込み中',\n 'common.noSearchResults': '検索に一致する結果がありません',\n 'menu.newConversation': '新しいチャット',\n 'chatbox.header.title': 'Developer Lightspeed',\n 'chatbox.search.placeholder': '検索',\n 'chatbox.provider.other': 'その他',\n 'chatbox.emptyState.noPinnedChats': '固定したチャットがありません',\n 'chatbox.emptyState.noRecentChats': '最近のチャットがありません',\n 'chatbox.emptyState.noResults.title': '結果が見つかりません',\n 'chatbox.emptyState.noResults.body':\n '検索クエリーを調整して再試行してください。スペルを確認するか、より一般的な用語をお試しください。',\n 'chatbox.welcome.greeting': 'こんにちは、{{userName}}',\n 'chatbox.welcome.description': '今日は何をお手伝いしましょうか?',\n 'chatbox.message.placeholder': 'Lightspeedのプロンプトを入力してください',\n 'chatbox.fileUpload.failed': 'ファイルのアップロードに失敗しました',\n 'chatbox.fileUpload.infoText':\n 'サポートされているファイルの種類は、.txt、.yaml、.json です。最大ファイルサイズは 25 MB です。',\n 'aria.chatbotSelector': 'チャットボットセレクター',\n 'aria.important': '重要',\n 'aria.chatHistoryMenu': 'チャット履歴メニュー',\n 'aria.closeDrawerPanel': 'ドロワーパネルを閉じる',\n 'aria.search.placeholder': '検索',\n 'aria.searchPreviousConversations': '以前の会話の検索',\n 'aria.resize': 'サイズ変更',\n 'aria.options.label': 'オプション',\n 'aria.scroll.down': '一番下に戻る',\n 'aria.scroll.up': '一番上に戻る',\n 'aria.settings.label': 'チャットボットのオプション',\n 'aria.close': 'チャットボットを閉じる',\n 'modal.edit': '編集',\n 'modal.save': '保存',\n 'modal.close': '閉じる',\n 'modal.cancel': 'キャンセル',\n 'conversation.delete': '削除',\n 'conversation.rename': '名前の変更',\n 'conversation.addToPinnedChats': '固定',\n 'conversation.removeFromPinnedChats': '固定解除',\n 'conversation.announcement.userMessage':\n 'ユーザーからのメッセージ: {{prompt}}。ボットからのメッセージを読み込んでいます。',\n 'conversation.announcement.responseStopped': '応答を停止しました。',\n 'user.guest': 'ゲスト',\n 'user.loading': '...',\n 'tooltip.attach': '割り当て',\n 'tooltip.send': '送信',\n 'tooltip.microphone.active': '聞き取りを停止',\n 'tooltip.microphone.inactive': 'マイクを使用する',\n 'tooltip.expandHistoryPanel': 'チャット履歴を展開',\n 'tooltip.collapseHistoryPanel': 'チャット履歴を折りたたむ',\n 'tooltip.quickNewChat': '新しいチャット',\n 'button.newChat': '新しいチャット',\n 'tooltip.chatHistoryMenu': 'チャット履歴メニュー',\n 'tooltip.responseRecorded': '回答が記録されました',\n 'tooltip.backToTop': '一番上に戻る',\n 'tooltip.backToBottom': '一番下に戻る',\n 'tooltip.settings': 'チャットボットのオプション',\n 'tooltip.close': '閉じる',\n 'tooltip.fab.open': 'Lightspeed を開く',\n 'tooltip.fab.close': 'Lightspeed を閉じる',\n 'attach.menu.title': '添付',\n 'attach.menu.description': 'JSON、YAML、または TXT ファイルを添付',\n 'modal.title.preview': '添付ファイルのプレビュー',\n 'modal.title.edit': '添付ファイルの編集',\n 'icon.lightspeed.alt': 'lightspeed アイコン',\n 'icon.permissionRequired.alt': '権限不足アイコン',\n 'message.options.label': 'オプション',\n 'file.upload.error.alreadyExists': 'ファイルがすでに存在します。',\n 'file.upload.error.multipleFiles': '複数のファイルをアップロードしました。',\n 'file.upload.error.unsupportedType':\n 'サポートされていないファイルタイプです。サポートされているタイプは、.txt、.yaml、.json です。',\n 'file.upload.error.fileTooLarge':\n 'ファイルサイズが大きすぎます。ファイルサイズが 25 MB 未満であることを確認してください。',\n 'file.upload.error.readFailed':\n 'ファイルの読み取りに失敗しました: {{errorMessage}}',\n 'error.context.fileAttachment':\n 'useFileAttachmentContext が FileAttachmentContextProvider 内に収まっている必要があります',\n 'feedback.form.title': 'なぜこの評価を選んだのですか?',\n 'feedback.form.textAreaPlaceholder':\n 'その他ご意見をお聞かせください (任意)',\n 'feedback.form.submitWord': '送信',\n 'feedback.tooltips.goodResponse': '回答内容が良い',\n 'feedback.tooltips.badResponse': '回答内容が悪い',\n 'feedback.tooltips.copied': 'コピー済み',\n 'feedback.tooltips.copy': 'コピー',\n 'feedback.tooltips.listening': '聞き取り中',\n 'feedback.tooltips.listen': '聞き取り',\n 'feedback.quickResponses.positive.helpful': '情報が役に立つ',\n 'feedback.quickResponses.positive.easyToUnderstand': 'わかりやすい',\n 'feedback.quickResponses.positive.resolvedIssue': '問題が解決した',\n 'feedback.quickResponses.negative.didntAnswer':\n '質問に対する答えが得られなかった',\n 'feedback.quickResponses.negative.hardToUnderstand': 'わかりにくい',\n 'feedback.quickResponses.negative.notHelpful': '役に立たない',\n 'feedback.completion.title': 'フィードバックを送信しました',\n 'feedback.completion.body':\n 'ご回答を受け取りました。ご意見をお聞かせいただきありがとうございました!',\n 'conversation.category.pinnedChats': '固定',\n 'conversation.category.recent': '最近',\n 'settings.pinned.enable': 'チャットの固定の有効化',\n 'settings.pinned.disable': 'チャットの固定の無効化',\n 'settings.pinned.enabled.description': 'チャットの固定は現在有効です',\n 'settings.pinned.disabled.description': 'チャットの固定は現在無効です',\n 'settings.mcp.label': 'MCP 設定',\n 'mcp.settings.title': 'MCP サーバー',\n 'mcp.settings.selectedCount':\n '{{totalCount}} 件中 {{selectedCount}} 件を選択',\n 'mcp.settings.closeAriaLabel': 'MCP 設定を閉じる',\n 'mcp.settings.readOnlyAccess':\n 'MCP サーバーへのアクセスは読み取り専用です。',\n 'mcp.settings.tableAriaLabel': 'MCP サーバーの表',\n 'mcp.settings.enabled': '有効',\n 'mcp.settings.name': '名前',\n 'mcp.settings.status': 'ステータス',\n 'mcp.settings.edit': '編集',\n 'mcp.settings.loading': 'MCP サーバーを読み込み中...',\n 'mcp.settings.noneAvailable': '利用可能な MCP サーバーはありません。',\n 'mcp.settings.status.disabled': '無効',\n 'mcp.settings.status.tokenRequired': 'トークンが必要',\n 'mcp.settings.status.failed': '失敗',\n 'mcp.settings.status.oneTool': '{{count}} 件のツール',\n 'mcp.settings.status.manyTools': '{{count}} 件のツール',\n 'mcp.settings.status.unknown': '不明',\n 'mcp.settings.toggleServerAriaLabel': '{{serverName}} を切り替える',\n 'mcp.settings.editServerAriaLabel': '{{serverName}} を編集',\n 'mcp.settings.configureServerTitle': '{{serverName}} サーバーを設定',\n 'mcp.settings.closeConfigureModalAriaLabel': '設定モーダルを閉じる',\n 'mcp.settings.modalDescription':\n '認証情報は保存時に暗号化され、あなたのプロファイルに限定されます。Lightspeed はあなたの権限で動作します。',\n 'mcp.settings.savedToken': '保存済みトークン',\n 'mcp.settings.personalAccessToken': '個人アクセストークン',\n 'mcp.settings.usingAdminCredential':\n '管理者が提供した認証情報を使用しています。アカウント用に上書きするには個人トークンを入力してください。',\n 'mcp.settings.enterToken': 'トークンを入力してください',\n 'mcp.settings.removePersonalToken': '個人トークンを削除',\n 'mcp.settings.token.clearAriaLabel': 'トークン入力をクリア',\n 'mcp.settings.token.validating': 'トークンを検証中...',\n 'mcp.settings.token.savingAndValidating': 'トークンを保存して検証中...',\n 'mcp.settings.token.urlUnavailableForValidation':\n 'サーバー URL が利用できないため、トークンを検証できません。',\n 'mcp.settings.token.invalidCredentials':\n '認証情報が無効です。サーバー URL とトークンを確認してください。',\n 'mcp.settings.token.validationFailed':\n '検証に失敗しました。サーバー URL とトークンを確認してください。',\n 'mcp.settings.token.connectionSuccessful': '接続に成功しました',\n // Display modes\n 'settings.displayMode.label': '表示モード',\n 'settings.displayMode.overlay': 'オーバーレイ',\n 'settings.displayMode.docked': 'ウィンドウにドッキング',\n 'settings.displayMode.fullscreen': 'フルスクリーン',\n\n // Tool calling\n 'toolCall.header': 'ツールの応答: {{toolName}}',\n 'toolCall.thinking': '{{seconds}} 秒間考えました',\n 'toolCall.executionTime': '実行時間: ',\n 'toolCall.parameters': 'パラメーター',\n 'toolCall.response': '応答',\n 'toolCall.showMore': 'さらに表示',\n 'toolCall.showLess': '表示を減らす',\n 'toolCall.loading': 'ツールを実行中...',\n 'toolCall.executing': 'ツールを実行中...',\n 'toolCall.copyResponse': '応答をコピー',\n 'toolCall.summary': '応答の概要は次のとおりです',\n 'toolCall.mcpServer': 'MCP サーバー',\n\n // Sort options\n 'sort.label': '会話を並べ替え',\n 'sort.newest': '日付(新しい順)',\n 'sort.oldest': '日付(古い順)',\n 'sort.alphabeticalAsc': '名前(A-Z)',\n 'sort.alphabeticalDesc': '名前(Z-A)',\n\n // Deep thinking\n 'reasoning.thinking': '思考を表示',\n },\n});\n\nexport default lightspeedTranslationJa;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ja.esm.js","sources":["../../src/translations/ja.ts"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\n\nimport { lightspeedTranslationRef } from './ref';\n\n/**\n * Japanese translation for plugin.lightspeed.\n * @public\n */\nconst lightspeedTranslationJa = createTranslationMessages({\n ref: lightspeedTranslationRef,\n messages: {\n 'aria.chatHistoryMenu': 'チャット履歴メニュー',\n 'aria.chatbotSelector': 'チャットボットセレクター',\n 'aria.close': 'チャットボットを閉じる',\n 'aria.closeDrawerPanel': 'ドロワーパネルを閉じる',\n 'aria.important': '重要',\n 'aria.options.label': 'オプション',\n 'aria.resize': 'サイズ変更',\n 'aria.scroll.down': '一番下に戻る',\n 'aria.scroll.up': '一番上に戻る',\n 'aria.search.placeholder': '検索',\n 'aria.searchPreviousConversations': '以前の会話の検索',\n 'aria.settings.label': 'チャットボットのオプション',\n 'attach.menu.description': 'JSON、YAML、または TXT ファイルを添付',\n 'attach.menu.title': '添付',\n 'button.newChat': '新しいチャット',\n 'chatbox.emptyState.noPinnedChats': '固定したチャットがありません',\n 'chatbox.emptyState.noRecentChats': '最近のチャットがありません',\n 'chatbox.emptyState.noResults.body':\n '検索クエリーを調整して再試行してください。スペルを確認するか、より一般的な用語をお試しください。',\n 'chatbox.emptyState.noResults.title': '結果が見つかりません',\n 'chatbox.fileUpload.failed': 'ファイルのアップロードに失敗しました',\n 'chatbox.fileUpload.infoText':\n 'サポートされているファイルの種類は、.txt、.yaml、.json です。最大ファイルサイズは 25 MB です。',\n 'chatbox.header.title': 'Developer Lightspeed',\n 'chatbox.message.placeholder': 'Lightspeedのプロンプトを入力してください',\n 'chatbox.provider.other': 'その他',\n 'chatbox.search.placeholder': '検索',\n 'chatbox.welcome.description': '今日は何をお手伝いしましょうか?',\n 'chatbox.welcome.greeting': 'こんにちは、{{userName}}',\n 'common.cancel': 'キャンセル',\n 'common.close': '閉じる',\n 'common.loading': '読み込み中',\n 'common.noSearchResults': '検索に一致する結果がありません',\n 'common.readMore': 'さらに表示する',\n 'common.retry': '再試行',\n 'conversation.addToPinnedChats': '固定',\n 'conversation.announcement.responseStopped': '応答を停止しました。',\n 'conversation.announcement.userMessage':\n 'ユーザーからのメッセージ: {{prompt}}。ボットからのメッセージを読み込んでいます。',\n 'conversation.category.pinnedChats': '固定チャット',\n 'conversation.category.recent': 'チャット',\n 'conversation.delete': '削除',\n 'conversation.delete.confirm.action': '削除',\n 'conversation.delete.confirm.message':\n 'このチャットはここに表示されなくなります。Lightspeed Activity からのプロンプト、回答、フィードバックなど、関連アクティビティーも削除されます。',\n 'conversation.delete.confirm.title': 'チャットを削除しますか?',\n 'conversation.removeFromPinnedChats': '固定解除',\n 'conversation.rename': '名前の変更',\n 'conversation.rename.confirm.action': '名前の変更',\n 'conversation.rename.confirm.title': 'チャットの名前を変更しますか?',\n 'conversation.rename.placeholder': 'チャット名',\n 'disclaimer.withValidation':\n 'この機能は AI テクノロジーを使用します。入力内容に個人情報やその他の機密情報を含めないでください。やり取りの内容は、Red Hat の製品やサービスを改善するために使用される場合があります。',\n 'disclaimer.withoutValidation':\n 'この機能は AI テクノロジーを使用します。入力内容に個人情報やその他の機密情報を含めないでください。やり取りの内容は、Red Hat の製品やサービスを改善するために使用される場合があります。',\n 'error.context.fileAttachment':\n 'useFileAttachmentContext が FileAttachmentContextProvider 内に収まっている必要があります',\n 'feedback.completion.body':\n 'ご回答を受け取りました。ご意見をお聞かせいただきありがとうございました!',\n 'feedback.completion.title': 'フィードバックを送信しました',\n 'feedback.form.submitWord': '送信',\n 'feedback.form.textAreaPlaceholder':\n 'その他ご意見をお聞かせください (任意)',\n 'feedback.form.title': 'なぜこの評価を選んだのですか?',\n 'feedback.quickResponses.negative.didntAnswer':\n '質問に対する答えが得られなかった',\n 'feedback.quickResponses.negative.hardToUnderstand': 'わかりにくい',\n 'feedback.quickResponses.negative.notHelpful': '役に立たない',\n 'feedback.quickResponses.positive.easyToUnderstand': 'わかりやすい',\n 'feedback.quickResponses.positive.helpful': '情報が役に立つ',\n 'feedback.quickResponses.positive.resolvedIssue': '問題が解決した',\n 'feedback.tooltips.badResponse': '回答内容が悪い',\n 'feedback.tooltips.copied': 'コピー済み',\n 'feedback.tooltips.copy': 'コピー',\n 'feedback.tooltips.goodResponse': '回答内容が良い',\n 'feedback.tooltips.listen': '聞き取り',\n 'feedback.tooltips.listening': '聞き取り中',\n 'file.upload.error.alreadyExists': 'ファイルがすでに存在します。',\n 'file.upload.error.fileTooLarge':\n 'ファイルサイズが大きすぎます。ファイルサイズが 25 MB 未満であることを確認してください。',\n 'file.upload.error.multipleFiles': '複数のファイルをアップロードしました。',\n 'file.upload.error.readFailed':\n 'ファイルの読み取りに失敗しました: {{errorMessage}}',\n 'file.upload.error.unsupportedType':\n 'サポートされていないファイルタイプです。サポートされているタイプは、.txt、.yaml、.json です。',\n 'footer.accuracy.label':\n 'AI によって生成されたコンテンツは、使用する前に必ず確認してください。',\n 'icon.lightspeed.alt': 'lightspeed アイコン',\n 'icon.permissionRequired.alt': '権限不足アイコン',\n 'lcore.loadError.description':\n 'Lightspeed バックエンドがモデル一覧を返しませんでした。サービスが実行中で到達可能か確認してから、もう一度お試しください。',\n 'lcore.loadError.title': 'モデルを読み込めませんでした',\n 'lcore.notConfigured.backendDocs': 'Lightspeed バックエンドのセットアップ',\n 'lcore.notConfigured.description':\n 'Lightspeed を使用するには登録済みの LLM が必要です。セットアップを完了するには、組織のプラットフォーム管理者にお問い合わせください。',\n 'lcore.notConfigured.developerLightspeedDocs':\n 'Developer Lightspeed を構成中',\n 'lcore.notConfigured.title': 'LLM に接続して始める',\n 'mcp.settings.closeAriaLabel': 'MCP 設定を閉じる',\n 'mcp.settings.closeConfigureModalAriaLabel': '設定モーダルを閉じる',\n 'mcp.settings.configureServerTitle': '{{serverName}} サーバーを設定',\n 'mcp.settings.edit': '編集',\n 'mcp.settings.editServerAriaLabel': '{{serverName}} を編集',\n 'mcp.settings.enabled': '有効',\n 'mcp.settings.enterToken': 'トークンを入力してください',\n 'mcp.settings.loading': 'MCP サーバーを読み込み中...',\n 'mcp.settings.modalDescription':\n '認証情報は保存時に暗号化され、あなたのプロファイルに限定されます。Lightspeed はあなたの権限で動作します。',\n 'mcp.settings.name': '名前',\n 'mcp.settings.noneAvailable': '利用可能な MCP サーバーはありません。',\n 'mcp.settings.personalAccessToken': '個人アクセストークン',\n 'mcp.settings.readOnlyAccess':\n 'MCP サーバーへのアクセスは読み取り専用です。',\n 'mcp.settings.removePersonalToken': '個人トークンを削除',\n 'mcp.settings.savedToken': '保存済みトークン',\n 'mcp.settings.selectedCount':\n '{{totalCount}} 件中 {{selectedCount}} 件を選択',\n 'mcp.settings.status': 'ステータス',\n 'mcp.settings.status.disabled': '無効',\n 'mcp.settings.status.failed': '失敗',\n 'mcp.settings.status.manyTools': '{{count}} 件のツール',\n 'mcp.settings.status.oneTool': '{{count}} 件のツール',\n 'mcp.settings.status.tokenRequired': 'トークンが必要',\n 'mcp.settings.status.unknown': '不明',\n 'mcp.settings.tableAriaLabel': 'MCP サーバーの表',\n 'mcp.settings.title': 'MCP サーバー',\n 'mcp.settings.toggleServerAriaLabel': '{{serverName}} を切り替える',\n 'mcp.settings.token.clearAriaLabel': 'トークン入力をクリア',\n 'mcp.settings.token.connectionSuccessful': '接続に成功しました',\n 'mcp.settings.token.invalidCredentials':\n '認証情報が無効です。サーバー URL とトークンを確認してください。',\n 'mcp.settings.token.savingAndValidating': 'トークンを保存して検証中...',\n 'mcp.settings.token.urlUnavailableForValidation':\n 'サーバー URL が利用できないため、トークンを検証できません。',\n 'mcp.settings.token.validating': 'トークンを検証中...',\n 'mcp.settings.token.validationFailed':\n '検証に失敗しました。サーバー URL とトークンを確認してください。',\n 'mcp.settings.usingAdminCredential':\n '管理者が提供した認証情報を使用しています。アカウント用に上書きするには個人トークンを入力してください。',\n 'menu.newConversation': '新しいチャット',\n 'message.options.label': 'オプション',\n 'modal.cancel': 'キャンセル',\n 'modal.close': '閉じる',\n 'modal.edit': '編集',\n 'modal.save': '保存',\n 'modal.title.edit': '添付ファイルの編集',\n 'modal.title.preview': '添付ファイルのプレビュー',\n 'notebook.document.delete': '削除',\n 'notebook.document.delete.action': '削除',\n 'notebook.document.delete.description':\n 'このノートブックから <documentName/> を削除してもよろしいですか?この操作は元に戻せません。',\n 'notebook.document.delete.success':\n '「{{documentName}}」が正常に削除されました。',\n 'notebook.document.delete.title': 'リソースを削除しますか?',\n 'notebook.overwrite.modal.action': '上書き',\n 'notebook.overwrite.modal.description':\n '以下のファイルはこのノートブックに既に存在します。新しいバージョンで上書きしますか?',\n 'notebook.overwrite.modal.title': 'ファイルを上書きしますか?',\n 'notebook.upload.error.fileTooLarge':\n 'アップロードエラー: ファイルサイズが 25 MB の制限を超えています。',\n 'notebook.upload.error.tooManyFiles':\n 'アップロードエラー: 最大 {{max}} ファイルまで許可されています。',\n 'notebook.upload.error.unsupportedType':\n 'アップロードエラー: サポートされていないファイル形式が見つかりました。サポートされているファイル形式のみをアップロードしてください。',\n 'notebook.upload.failed': '「{{fileName}}」のアップロードに失敗しました。',\n 'notebook.upload.modal.addButton': '追加 ({{count}})',\n 'notebook.upload.modal.browseButton': 'アップロード',\n 'notebook.upload.modal.dragDropTitle': 'ここにファイルをドラッグ&ドロップ',\n 'notebook.upload.modal.infoText':\n '対応ファイル形式: .md, .txt, .pdf, .json, .yaml, .log',\n 'notebook.upload.modal.removeFile': '{{fileName}} を削除',\n 'notebook.upload.modal.selectedFiles':\n '{{max}} 件中 {{count}} 件のファイルを選択',\n 'notebook.upload.modal.separator': 'または',\n 'notebook.upload.modal.title': 'ノートブックにドキュメントを追加',\n 'notebook.view.close': 'ノートブックを閉じる',\n 'notebook.view.documents.add': '追加',\n 'notebook.view.documents.count': '{{count}} 件のドキュメント',\n 'notebook.view.documents.maxReached':\n '最大10個のドキュメントが許可されています。新しいドキュメントをアップロードするには、ドキュメントを削除してください。',\n 'notebook.view.documents.uploading': 'ドキュメントをアップロード中',\n 'notebook.view.input.disabledTooltip':\n 'チャットを開始するには、少なくとも1つのロード済みリソースを選択してください',\n 'notebook.view.input.placeholder': 'ドキュメントについて質問する...',\n 'notebook.view.sidebar.collapse': 'サイドバーを折りたたむ',\n 'notebook.view.sidebar.expand': 'サイドバーを展開する',\n 'notebook.view.sidebar.resize': 'サイドバーのサイズを変更する',\n 'notebook.view.title': '無題のノートブック',\n 'notebook.view.upload.action': 'リソースをアップロード',\n 'notebook.view.upload.heading':\n 'リソースをアップロードして開始してください',\n 'notebooks.actions.delete': '削除',\n 'notebooks.actions.rename': '名前の変更',\n 'notebooks.card.openAria': 'ノートブック {{name}} を開く',\n 'notebooks.delete.action': '削除',\n 'notebooks.delete.message':\n 'このノートブックはここに表示されなくなります。Lightspeed アクティビティに関連するプロンプト、応答、フィードバックも削除されます。',\n 'notebooks.delete.title': '{{name}} を削除しますか?',\n 'notebooks.delete.toast': 'ノートブックを削除しました!',\n 'notebooks.documents': 'ドキュメント',\n 'notebooks.empty.action': '新しいノートブックを作成',\n 'notebooks.empty.description':\n '新しいノートブックを作成してソースを整理し、AI による洞察を生成します。',\n 'notebooks.empty.title': '作成されたノートブックはありません',\n 'notebooks.prompts.accessIssue.title': 'アクセスの問題を解決してください',\n 'notebooks.prompts.coreConcepts.title': 'コアコンセプトは何ですか?',\n 'notebooks.prompts.vulnerabilities.title': '重大な脆弱性を表示してください',\n 'notebooks.rename.action': '送信',\n 'notebooks.rename.description':\n 'このノートブックの新しい名前を入力し、送信をクリックして続行してください。',\n 'notebooks.rename.label': '新しい名前',\n 'notebooks.rename.placeholder': '新しい名前',\n 'notebooks.rename.title': '{{name}} の名前を変更しますか?',\n 'notebooks.title': 'マイノートブック',\n 'notebooks.updated.days': '{{days}}日前に更新',\n 'notebooks.updated.on': '更新日',\n 'notebooks.updated.today': '今日更新',\n 'notebooks.updated.yesterday': '1日前に更新',\n 'page.subtitle': 'AI 搭載開発アシスタント',\n 'page.title': 'Lightspeed',\n 'permission.notebooks.goBack': '戻る',\n 'permission.required.description':\n '<subject/> を表示するには、管理者に連絡して <permissions/> 権限を付与してもらうよう依頼してください。',\n 'permission.required.title': '権限の不足',\n 'permission.subject.notebooks': 'Lightspeed ノートブック',\n 'permission.subject.plugin': 'Lightspeed プラグイン',\n 'prompts.codeOptimization.message':\n 'コードを最適化してパフォーマンスを向上させるための一般的な方法を提案してくれませんか?',\n 'prompts.codeOptimization.title': 'コードの最適化を提案する',\n 'prompts.codeReadability.message':\n 'コードの可読性と保守性を高めるための手法を提案してくれませんか?',\n 'prompts.codeReadability.title': 'コードの可読性に関するヘルプを利用する',\n 'prompts.debugging.message':\n 'アプリケーションがデータベースに接続しようとするとエラーが発生します。問題の特定を手伝ってくれませんか?',\n 'prompts.debugging.title': 'デバッグに関するヘルプを利用する',\n 'prompts.developmentConcept.message':\n 'マイクロサービスアーキテクチャーの仕組みと、モノリシックな設計と比べた利点について説明してくれませんか?',\n 'prompts.developmentConcept.title': '開発コンセプトを説明する',\n 'prompts.documentation.message':\n 'Web アプリケーションでの OAuth 2.0 認証の実装に関するドキュメントを要約してくれませんか?',\n 'prompts.documentation.title': 'ドキュメントの要約',\n 'prompts.eventDriven.message':\n 'イベント駆動型アーキテクチャーとは何か、またそれをソフトウェア開発でどのようなときに使用すると有益かを説明してくれませんか?',\n 'prompts.eventDriven.title': 'イベント駆動型アーキテクチャーを理解する',\n 'prompts.gitWorkflows.message':\n '既存の作業内容を失うことなく、別のブランチのコードに変更を加えたいです。Git を使用してこれを行うにはどうすればよいですか?',\n 'prompts.gitWorkflows.title': 'Git を使用したワークフロー',\n 'prompts.openshift.message':\n 'コンテナー化されたアプリケーション用に OpenShift で新しいデプロイメントを作成する手順を説明してくれませんか?',\n 'prompts.openshift.title': 'OpenShift デプロイメントの作成',\n 'prompts.rhdh.message':\n 'ソフトウェアカタログの探索やサービスの追加など、開発者が Developer Hub を利用する際にまず何をすべきか教えてくれませんか?',\n 'prompts.rhdh.title': 'Red Hat Developer Hub を使い始める',\n 'prompts.sortingAlgorithms.message':\n 'クイックソートとマージソートのアルゴリズムの違いと、それぞれの使用タイミングについて説明してくれませんか?',\n 'prompts.sortingAlgorithms.title':\n 'ソートのアルゴリズムをわかりやすく説明する',\n 'prompts.tekton.message':\n 'Tekton パイプラインを使用してアプリケーションのデプロイを自動化するのを手伝ってくれませんか?',\n 'prompts.tekton.title': 'Tekton を使用したデプロイ',\n 'prompts.testingStrategies.message':\n '堅牢でエラーのないアプリケーションを構築するための一般的なテスト方法をいくつか提案してくれませんか?',\n 'prompts.testingStrategies.title': 'テスト方法を提案する',\n 'reasoning.thinking': '思考を表示',\n 'settings.displayMode.docked': 'ウィンドウにドッキング',\n 'settings.displayMode.fullscreen': 'フルスクリーン',\n 'settings.displayMode.label': '表示モード',\n 'settings.displayMode.overlay': 'オーバーレイ',\n 'settings.mcp.badge': '新規',\n 'settings.mcp.label': 'MCP 設定',\n 'settings.pinned.disable': 'チャットの固定の無効化',\n 'settings.pinned.disabled.description': 'チャットの固定は現在無効です',\n 'settings.pinned.enable': 'チャットの固定の有効化',\n 'settings.pinned.enabled.description': 'チャットの固定は現在有効です',\n 'sort.alphabeticalAsc': '名前(A-Z)',\n 'sort.alphabeticalDesc': '名前(Z-A)',\n 'sort.label': '会話を並べ替え',\n 'sort.newest': '日付(新しい順)',\n 'sort.oldest': '日付(古い順)',\n 'tabs.ariaLabel': 'Lightspeed のビュー',\n 'tabs.chat': 'チャット',\n 'tabs.notebooks': 'ノートブック',\n 'tabs.notebooks.devPreview': '開発者プレビュー',\n 'tabs.notebooks.empty': 'ノートブックの内容はここに表示されます。',\n 'toolCall.copyResponse': '応答をコピー',\n 'toolCall.executing': 'ツールを実行中...',\n 'toolCall.executionTime': '実行時間: ',\n 'toolCall.header': 'ツールの応答: {{toolName}}',\n 'toolCall.loading': 'ツールを実行中...',\n 'toolCall.mcpServer': 'MCP サーバー',\n 'toolCall.parameters': 'パラメーター',\n 'toolCall.response': '応答',\n 'toolCall.showLess': '表示を減らす',\n 'toolCall.showMore': 'さらに表示',\n 'toolCall.summary': '応答の概要は次のとおりです',\n 'toolCall.thinking': '{{seconds}} 秒間考えました',\n 'tooltip.attach': '割り当て',\n 'tooltip.backToBottom': '一番下に戻る',\n 'tooltip.backToTop': '一番上に戻る',\n 'tooltip.chatHistoryMenu': 'チャット履歴メニュー',\n 'tooltip.close': '閉じる',\n 'tooltip.collapseHistoryPanel': 'チャット履歴を折りたたむ',\n 'tooltip.expandHistoryPanel': 'チャット履歴を展開',\n 'tooltip.fab.close': 'Lightspeed を閉じる',\n 'tooltip.fab.open': 'Lightspeed を開く',\n 'tooltip.microphone.active': '聞き取りを停止',\n 'tooltip.microphone.inactive': 'マイクを使用する',\n 'tooltip.quickNewChat': '新しいチャット',\n 'tooltip.responseRecorded': '回答が記録されました',\n 'tooltip.send': '送信',\n 'tooltip.settings': 'チャットボットのオプション',\n 'user.guest': 'ゲスト',\n 'user.loading': '...',\n },\n});\n\nexport default lightspeedTranslationJa;\n"],"names":[],"mappings":"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"}
|
|
@@ -48,8 +48,7 @@ const lightspeedMessages = {
|
|
|
48
48
|
"notebook.view.sidebar.resize": "Resize sidebar",
|
|
49
49
|
"notebook.view.documents.uploading": "Uploading document",
|
|
50
50
|
"notebook.view.documents.maxReached": "Maximum 10 documents are allowed. Delete a document to upload a new document.",
|
|
51
|
-
"notebook.upload.
|
|
52
|
-
"notebook.upload.failed": "{{fileName}} Upload Failed.",
|
|
51
|
+
"notebook.upload.failed": '"{{fileName}}" upload failed.',
|
|
53
52
|
// Notebook upload modal
|
|
54
53
|
"notebook.upload.modal.title": "Add a document to Notebook",
|
|
55
54
|
"notebook.upload.modal.dragDropTitle": "Drag and drop files here",
|
|
@@ -67,6 +66,10 @@ const lightspeedMessages = {
|
|
|
67
66
|
"notebook.overwrite.modal.description": "The following files already exist in this notebook. Do you want to overwrite them with the new versions?",
|
|
68
67
|
"notebook.overwrite.modal.action": "Overwrite",
|
|
69
68
|
"notebook.document.delete": "Delete",
|
|
69
|
+
"notebook.document.delete.title": "Remove resource?",
|
|
70
|
+
"notebook.document.delete.description": "Are you sure you want to remove <documentName/> from this notebook? This action cannot be undone.",
|
|
71
|
+
"notebook.document.delete.action": "Remove",
|
|
72
|
+
"notebook.document.delete.success": '"{{documentName}}" removed successfully.',
|
|
70
73
|
// Sample prompts - General Development
|
|
71
74
|
"prompts.codeReadability.title": "Get Help On Code Readability",
|
|
72
75
|
"prompts.codeReadability.message": "Can you suggest techniques I can use to make my code more readable and maintainable?",
|
|
@@ -188,9 +191,6 @@ const lightspeedMessages = {
|
|
|
188
191
|
// Attach menu
|
|
189
192
|
"attach.menu.title": "Attach",
|
|
190
193
|
"attach.menu.description": "Attach a JSON, YAML, or TXT file",
|
|
191
|
-
// History panel sections
|
|
192
|
-
"history.section.pinned": "Pinned",
|
|
193
|
-
"history.section.recent": "Recent",
|
|
194
194
|
// Modal titles
|
|
195
195
|
"modal.title.preview": "Preview attachment",
|
|
196
196
|
"modal.title.edit": "Edit attachment",
|
|
@@ -226,14 +226,15 @@ const lightspeedMessages = {
|
|
|
226
226
|
"feedback.completion.title": "Feedback submitted",
|
|
227
227
|
"feedback.completion.body": "We've received your response. Thank you for sharing your feedback!",
|
|
228
228
|
// Conversation categorization
|
|
229
|
-
"conversation.category.pinnedChats": "Pinned",
|
|
230
|
-
"conversation.category.recent": "
|
|
229
|
+
"conversation.category.pinnedChats": "Pinned chats",
|
|
230
|
+
"conversation.category.recent": "Chats",
|
|
231
231
|
// lightspeed settings
|
|
232
232
|
"settings.pinned.enable": "Enable pinned chats",
|
|
233
233
|
"settings.pinned.disable": "Disable pinned chats",
|
|
234
234
|
"settings.pinned.enabled.description": "Pinned chats are currently enabled",
|
|
235
235
|
"settings.pinned.disabled.description": "Pinned chats are currently disabled",
|
|
236
236
|
"settings.mcp.label": "MCP settings",
|
|
237
|
+
"settings.mcp.badge": "New",
|
|
237
238
|
// MCP settings
|
|
238
239
|
"mcp.settings.title": "MCP servers",
|
|
239
240
|
"mcp.settings.selectedCount": "{{selectedCount}} of {{totalCount}} selected",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ref.esm.js","sources":["../../src/translations/ref.ts"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationRef } from '@backstage/core-plugin-api/alpha';\n\n/**\n * Messages object containing all English translations.\n * This is our single source of truth for translations.\n * @alpha\n */\nexport const lightspeedMessages = {\n // Page titles and headers\n 'page.title': 'Lightspeed',\n 'page.subtitle': 'AI-powered development assistant',\n 'tabs.ariaLabel': 'Lightspeed views',\n 'tabs.chat': 'Chat',\n 'tabs.notebooks': 'Notebooks',\n 'tabs.notebooks.devPreview': 'Developer preview',\n 'tabs.notebooks.empty': 'Notebooks content goes here.',\n 'notebooks.title': 'My Notebooks',\n 'notebooks.empty.title': 'No created notebooks',\n 'notebooks.empty.description':\n 'Start a new notebook to organize your sources and generate AI-powered insights.',\n 'notebooks.empty.action': 'Create a new notebook',\n 'notebooks.documents': 'Documents',\n 'notebooks.actions.rename': 'Rename',\n 'notebooks.actions.delete': 'Delete',\n 'notebooks.rename.title': 'Rename {{name}}?',\n 'notebooks.rename.description':\n 'Please input the new name for this notebook and click submit to proceed.',\n 'notebooks.rename.label': 'New name',\n 'notebooks.rename.placeholder': 'New name',\n 'notebooks.rename.action': 'Submit',\n 'notebooks.delete.title': 'Delete {{name}}?',\n 'notebooks.delete.message':\n \"You'll no longer see this notebook here. This will also delete related activity like prompts, responses, and feedback from your Lightspeed Activity.\",\n 'notebooks.delete.action': 'Delete',\n 'notebooks.delete.toast': 'Notebook deleted!',\n 'notebooks.updated.today': 'Updated today',\n 'notebooks.updated.yesterday': 'Updated 1 day ago',\n 'notebooks.updated.days': 'Updated {{days}} days ago',\n 'notebooks.updated.on': 'Updated on',\n 'notebooks.card.openAria': 'Open notebook {{name}}',\n\n // Notebook sample prompts\n 'notebooks.prompts.coreConcepts.title': 'What are the core concepts?',\n 'notebooks.prompts.vulnerabilities.title': 'Show my critical vulnerabilities',\n 'notebooks.prompts.accessIssue.title': 'Help me with an access issue',\n\n // Notebook view\n 'notebook.view.title': 'Untitled notebook',\n 'notebook.view.close': 'Close notebook',\n 'notebook.view.documents.count': '{{count}} Documents',\n 'notebook.view.documents.add': 'Add',\n 'notebook.view.upload.heading': 'Upload a resource to get started',\n 'notebook.view.upload.action': 'Upload a resource',\n 'notebook.view.input.placeholder': 'Ask about your documents...',\n 'notebook.view.input.disabledTooltip':\n 'Select at least one loaded resource to start chatting',\n 'notebook.view.sidebar.collapse': 'Collapse sidebar',\n 'notebook.view.sidebar.expand': 'Expand sidebar',\n 'notebook.view.sidebar.resize': 'Resize sidebar',\n 'notebook.view.documents.uploading': 'Uploading document',\n 'notebook.view.documents.maxReached':\n 'Maximum 10 documents are allowed. Delete a document to upload a new document.',\n 'notebook.upload.success': '{{fileName}} Successfully Uploaded.',\n 'notebook.upload.failed': '{{fileName}} Upload Failed.',\n\n // Notebook upload modal\n 'notebook.upload.modal.title': 'Add a document to Notebook',\n 'notebook.upload.modal.dragDropTitle': 'Drag and drop files here',\n 'notebook.upload.modal.browseButton': 'Upload',\n 'notebook.upload.modal.separator': 'or',\n 'notebook.upload.modal.infoText':\n 'Accepted file types: .md, .txt, .pdf, .json, .yaml, .log',\n 'notebook.upload.modal.selectedFiles': '{{count}} of {{max}} files selected',\n 'notebook.upload.modal.addButton': 'Add ({{count}})',\n 'notebook.upload.modal.removeFile': 'Remove {{fileName}}',\n 'notebook.upload.error.unsupportedType':\n 'Upload error: Unsupported file type(s) found. Please upload only supported file types.',\n 'notebook.upload.error.fileTooLarge':\n 'Upload error: File size exceeds 25 MB limit.',\n 'notebook.upload.error.tooManyFiles':\n 'Upload error: Maximum of {{max}} files allowed.',\n\n // Notebook overwrite modal\n 'notebook.overwrite.modal.title': 'Overwrite Files?',\n 'notebook.overwrite.modal.description':\n 'The following files already exist in this notebook. Do you want to overwrite them with the new versions?',\n 'notebook.overwrite.modal.action': 'Overwrite',\n 'notebook.document.delete': 'Delete',\n\n // Sample prompts - General Development\n 'prompts.codeReadability.title': 'Get Help On Code Readability',\n 'prompts.codeReadability.message':\n 'Can you suggest techniques I can use to make my code more readable and maintainable?',\n 'prompts.debugging.title': 'Get Help With Debugging',\n 'prompts.debugging.message':\n 'My application is throwing an error when trying to connect to the database. Can you help me identify the issue?',\n 'prompts.developmentConcept.title': 'Explain a Development Concept',\n 'prompts.developmentConcept.message':\n 'Can you explain how microservices architecture works and its advantages over a monolithic design?',\n 'prompts.codeOptimization.title': 'Suggest Code Optimizations',\n 'prompts.codeOptimization.message':\n 'Can you suggest common ways to optimize code to achieve better performance?',\n 'prompts.documentation.title': 'Documentation Summary',\n 'prompts.documentation.message':\n 'Can you summarize the documentation for implementing OAuth 2.0 authentication in a web app?',\n 'prompts.gitWorkflows.title': 'Workflows With Git',\n 'prompts.gitWorkflows.message':\n 'I want to make changes to code on another branch without losing my existing work. What is the procedure to do this using Git?',\n 'prompts.testingStrategies.title': 'Suggest Testing Strategies',\n 'prompts.testingStrategies.message':\n 'Can you recommend some common testing strategies that will make my application robust and error-free?',\n 'prompts.sortingAlgorithms.title': 'Demystify Sorting Algorithms',\n 'prompts.sortingAlgorithms.message':\n 'Can you explain the difference between a quicksort and a merge sort algorithm, and when to use each?',\n 'prompts.eventDriven.title': 'Understand Event-Driven Architecture',\n 'prompts.eventDriven.message':\n \"Can you explain what event-driven architecture is and when it's beneficial to use it in software development?\",\n\n // Sample prompts - RHDH Specific\n 'prompts.tekton.title': 'Deploy With Tekton',\n 'prompts.tekton.message':\n 'Can you help me automate the deployment of my application using Tekton pipelines?',\n 'prompts.openshift.title': 'Create An OpenShift Deployment',\n 'prompts.openshift.message':\n 'Can you guide me through creating a new deployment in OpenShift for a containerized application?',\n 'prompts.rhdh.title': 'Getting Started with Red Hat Developer Hub',\n 'prompts.rhdh.message':\n 'Can you guide me through the first steps to start using Developer Hub as a developer, like exploring the Software Catalog and adding my service?',\n\n // Conversation history\n 'conversation.delete.confirm.title': 'Delete chat?',\n 'conversation.delete.confirm.message':\n \"You'll no longer see this chat here. This will also delete related activity like prompts, responses, and feedback from your Lightspeed Activity.\",\n 'conversation.delete.confirm.action': 'Delete',\n 'conversation.rename.confirm.title': 'Rename chat?',\n 'conversation.rename.confirm.action': 'Rename',\n 'conversation.rename.placeholder': 'Chat name',\n\n // Permissions\n 'permission.required.title': 'Missing permissions',\n 'permission.required.description':\n 'To view <subject/>, contact your administrator to give the <permissions/> permission.',\n 'permission.subject.plugin': 'the Lightspeed plugin',\n 'permission.subject.notebooks': 'the Lightspeed notebooks',\n 'permission.notebooks.goBack': 'Go back',\n\n // LCORE / LLM (no models registered)\n 'lcore.notConfigured.title': 'Connect an LLM to get started',\n 'lcore.notConfigured.description':\n \"Lightspeed requires a registered LLM. Contact your organization's platform administrator to complete the setup.\",\n 'lcore.notConfigured.developerLightspeedDocs':\n 'Configuring Developer Lightspeed',\n 'lcore.notConfigured.backendDocs': 'Lightspeed Backend Setup',\n 'lcore.loadError.title': 'Could not load models',\n 'lcore.loadError.description':\n 'The Lightspeed backend did not return a model list. Check that the service is running and reachable, then try again.',\n\n // Disclaimers\n 'disclaimer.withValidation':\n \"This feature uses AI technology. Do not include any personal information or any other sensitive information in your input. Interactions may be used to improve Red Hat's products or services.\",\n 'disclaimer.withoutValidation':\n \"This feature uses AI technology. Do not include any personal information or any other sensitive information in your input. Interactions may be used to improve Red Hat's products or services.\",\n\n // Footer and feedback\n 'footer.accuracy.label': 'Always review AI generated content prior to use.',\n\n // Common actions\n 'common.cancel': 'Cancel',\n 'common.close': 'Close',\n 'common.readMore': 'Read more',\n 'common.retry': 'Try again',\n 'common.loading': 'Loading',\n 'common.noSearchResults': 'No result matches the search',\n\n // Menu items\n 'menu.newConversation': 'New Chat',\n\n // Chat-specific UI elements\n 'chatbox.header.title': 'Developer Lightspeed',\n 'chatbox.search.placeholder': 'Search',\n 'chatbox.provider.other': 'Other',\n 'chatbox.emptyState.noPinnedChats': 'No pinned chats',\n 'chatbox.emptyState.noRecentChats': 'No recent chats',\n 'chatbox.emptyState.noResults.title': 'No results found',\n 'chatbox.emptyState.noResults.body':\n 'Adjust your search query and try again. Check your spelling or try a more general term.',\n 'chatbox.welcome.greeting': 'Hello, {{userName}}',\n 'chatbox.welcome.description': 'How can I help you today?',\n 'chatbox.message.placeholder': 'Enter a prompt for Lightspeed',\n 'chatbox.fileUpload.failed': 'File upload failed',\n 'chatbox.fileUpload.infoText':\n 'Supported file types are: .txt, .yaml, and .json. The maximum file size is 25 MB.',\n\n // Accessibility and ARIA labels\n 'aria.chatbotSelector': 'Chatbot selector',\n 'aria.important': 'Important',\n 'aria.chatHistoryMenu': 'Chat history menu',\n 'aria.closeDrawerPanel': 'Close drawer panel',\n 'aria.search.placeholder': 'Search',\n 'aria.searchPreviousConversations': 'Search previous conversations',\n 'aria.resize': 'Resize',\n 'aria.options.label': 'Options',\n 'aria.scroll.down': 'Back to bottom',\n 'aria.scroll.up': 'Back to top',\n 'aria.settings.label': 'Chatbot options',\n 'aria.close': 'Close chatbot',\n\n // Modal actions\n 'modal.edit': 'Edit',\n 'modal.save': 'Save',\n 'modal.close': 'Close',\n 'modal.cancel': 'Cancel',\n\n // Conversation actions\n 'conversation.delete': 'Delete',\n 'conversation.rename': 'Rename',\n 'conversation.addToPinnedChats': 'Pin',\n 'conversation.removeFromPinnedChats': 'Unpin',\n 'conversation.announcement.userMessage':\n 'Message from User: {{prompt}}. Message from Bot is loading.',\n 'conversation.announcement.responseStopped': 'Response stopped.',\n\n // User states\n 'user.guest': 'Guest',\n 'user.loading': '...',\n\n // Button tooltips and labels\n 'tooltip.attach': 'Attach',\n 'tooltip.send': 'Send',\n 'tooltip.microphone.active': 'Stop listening',\n 'tooltip.microphone.inactive': 'Use microphone',\n 'tooltip.expandHistoryPanel': 'Expand chat history',\n 'tooltip.collapseHistoryPanel': 'Collapse chat history',\n 'tooltip.quickNewChat': 'New chat',\n 'button.newChat': 'New chat',\n 'tooltip.chatHistoryMenu': 'Chat history menu',\n 'tooltip.responseRecorded': 'Response recorded',\n 'tooltip.backToTop': 'Back to top',\n 'tooltip.backToBottom': 'Back to bottom',\n 'tooltip.settings': 'Chatbot options',\n 'tooltip.close': 'Close',\n 'tooltip.fab.open': 'Open Lightspeed',\n 'tooltip.fab.close': 'Close Lightspeed',\n\n // Attach menu\n 'attach.menu.title': 'Attach',\n 'attach.menu.description': 'Attach a JSON, YAML, or TXT file',\n\n // History panel sections\n 'history.section.pinned': 'Pinned',\n 'history.section.recent': 'Recent',\n\n // Modal titles\n 'modal.title.preview': 'Preview attachment',\n 'modal.title.edit': 'Edit attachment',\n\n // Alt texts for icons\n 'icon.lightspeed.alt': 'lightspeed icon',\n 'icon.permissionRequired.alt': 'permission required icon',\n\n // Message utilities\n 'message.options.label': 'Options',\n\n // File attachment errors\n 'file.upload.error.alreadyExists': 'File already exists.',\n 'file.upload.error.multipleFiles': 'Uploaded more than one file.',\n 'file.upload.error.unsupportedType':\n 'Unsupported file type. Supported types are: .txt, .yaml, and .json.',\n 'file.upload.error.fileTooLarge':\n 'Your file size is too large. Please ensure that your file is less than 25 MB.',\n 'file.upload.error.readFailed': 'Failed to read file: {{errorMessage}}',\n\n // Developer error messages\n 'error.context.fileAttachment':\n 'useFileAttachmentContext must be within a FileAttachmentContextProvider',\n\n // Feedback actions\n 'feedback.form.title': 'Why did you choose this rating?',\n 'feedback.form.textAreaPlaceholder': 'Provide optional additional feedback',\n 'feedback.form.submitWord': 'Submit',\n 'feedback.tooltips.goodResponse': 'Good Response',\n 'feedback.tooltips.badResponse': 'Bad Response',\n 'feedback.tooltips.copied': 'Copied',\n 'feedback.tooltips.copy': 'Copy',\n 'feedback.tooltips.listening': 'Listening',\n 'feedback.tooltips.listen': 'Listen',\n 'feedback.quickResponses.positive.helpful': 'Helpful information',\n 'feedback.quickResponses.positive.easyToUnderstand': 'Easy to understand',\n 'feedback.quickResponses.positive.resolvedIssue': 'Resolved my issue',\n 'feedback.quickResponses.negative.didntAnswer': \"Didn't answer my question\",\n 'feedback.quickResponses.negative.hardToUnderstand': 'Hard to understand',\n 'feedback.quickResponses.negative.notHelpful': 'Not Helpful',\n 'feedback.completion.title': 'Feedback submitted',\n 'feedback.completion.body':\n \"We've received your response. Thank you for sharing your feedback!\",\n\n // Conversation categorization\n 'conversation.category.pinnedChats': 'Pinned',\n 'conversation.category.recent': 'Recent',\n\n // lightspeed settings\n 'settings.pinned.enable': 'Enable pinned chats',\n 'settings.pinned.disable': 'Disable pinned chats',\n 'settings.pinned.enabled.description': 'Pinned chats are currently enabled',\n 'settings.pinned.disabled.description': 'Pinned chats are currently disabled',\n 'settings.mcp.label': 'MCP settings',\n\n // MCP settings\n 'mcp.settings.title': 'MCP servers',\n 'mcp.settings.selectedCount': '{{selectedCount}} of {{totalCount}} selected',\n 'mcp.settings.closeAriaLabel': 'Close MCP settings',\n 'mcp.settings.readOnlyAccess': 'You have read-only access to MCP servers.',\n 'mcp.settings.tableAriaLabel': 'MCP servers table',\n 'mcp.settings.enabled': 'Enabled',\n 'mcp.settings.name': 'Name',\n 'mcp.settings.status': 'Status',\n 'mcp.settings.edit': 'Edit',\n 'mcp.settings.loading': 'Loading MCP servers...',\n 'mcp.settings.noneAvailable': 'No MCP servers available.',\n 'mcp.settings.status.disabled': 'Disabled',\n 'mcp.settings.status.tokenRequired': 'Token required',\n 'mcp.settings.status.failed': 'Failed',\n 'mcp.settings.status.oneTool': '{{count}} tool',\n 'mcp.settings.status.manyTools': '{{count}} tools',\n 'mcp.settings.status.unknown': 'Unknown',\n 'mcp.settings.toggleServerAriaLabel': 'Toggle {{serverName}}',\n 'mcp.settings.editServerAriaLabel': 'Edit {{serverName}}',\n 'mcp.settings.configureServerTitle': 'Configure {{serverName}} server',\n 'mcp.settings.closeConfigureModalAriaLabel': 'Close configure modal',\n 'mcp.settings.modalDescription':\n 'Credentials are encrypted at rest and scoped to your profile. Lightspeed will operate with your exact permissions.',\n 'mcp.settings.savedToken': 'Saved token',\n 'mcp.settings.personalAccessToken': 'Personal Access Token',\n 'mcp.settings.usingAdminCredential':\n 'Using Administrator provided credential. Enter a personal token to override for your account.',\n 'mcp.settings.enterToken': 'Enter your token',\n 'mcp.settings.removePersonalToken': 'Remove personal token',\n 'mcp.settings.token.clearAriaLabel': 'Clear token input',\n 'mcp.settings.token.validating': 'Validating token...',\n 'mcp.settings.token.savingAndValidating': 'Saving and validating token...',\n 'mcp.settings.token.urlUnavailableForValidation':\n 'Unable to validate token because server URL is not available.',\n 'mcp.settings.token.invalidCredentials':\n 'Invalid credentials. Check server URL and token.',\n 'mcp.settings.token.validationFailed':\n 'Validation failed. Check server URL and token.',\n 'mcp.settings.token.connectionSuccessful': 'Connection successful',\n\n // Tool calling\n 'toolCall.header': 'Tool response: {{toolName}}',\n 'toolCall.thinking': 'Thought for {{seconds}} seconds',\n 'toolCall.executionTime': 'Execution time: ',\n 'toolCall.parameters': 'Parameters',\n 'toolCall.response': 'Response',\n 'toolCall.showMore': 'show more',\n 'toolCall.showLess': 'show less',\n 'toolCall.loading': 'Executing tool...',\n 'toolCall.executing': 'Executing tool...',\n 'toolCall.copyResponse': 'Copy response',\n 'toolCall.summary': \"Here's a summary of your response\",\n 'toolCall.mcpServer': 'MCP Server',\n // Display modes\n 'settings.displayMode.label': 'Display mode',\n 'settings.displayMode.overlay': 'Overlay',\n 'settings.displayMode.docked': 'Dock to window',\n 'settings.displayMode.fullscreen': 'Fullscreen',\n\n // Sort options\n 'sort.label': 'Sort conversations',\n 'sort.newest': 'Date (newest first)',\n 'sort.oldest': 'Date (oldest first)',\n 'sort.alphabeticalAsc': 'Name (A-Z)',\n 'sort.alphabeticalDesc': 'Name (Z-A)',\n // Deep thinking\n 'reasoning.thinking': 'Show thinking',\n};\n\n/**\n * Translation Reference for Developer Lightspeed\n * @alpha\n **/\nexport const lightspeedTranslationRef = createTranslationRef({\n id: 'plugin.lightspeed',\n messages: lightspeedMessages,\n});\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ref.esm.js","sources":["../../src/translations/ref.ts"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationRef } from '@backstage/core-plugin-api/alpha';\n\n/**\n * Messages object containing all English translations.\n * This is our single source of truth for translations.\n * @alpha\n */\nexport const lightspeedMessages = {\n // Page titles and headers\n 'page.title': 'Lightspeed',\n 'page.subtitle': 'AI-powered development assistant',\n 'tabs.ariaLabel': 'Lightspeed views',\n 'tabs.chat': 'Chat',\n 'tabs.notebooks': 'Notebooks',\n 'tabs.notebooks.devPreview': 'Developer preview',\n 'tabs.notebooks.empty': 'Notebooks content goes here.',\n 'notebooks.title': 'My Notebooks',\n 'notebooks.empty.title': 'No created notebooks',\n 'notebooks.empty.description':\n 'Start a new notebook to organize your sources and generate AI-powered insights.',\n 'notebooks.empty.action': 'Create a new notebook',\n 'notebooks.documents': 'Documents',\n 'notebooks.actions.rename': 'Rename',\n 'notebooks.actions.delete': 'Delete',\n 'notebooks.rename.title': 'Rename {{name}}?',\n 'notebooks.rename.description':\n 'Please input the new name for this notebook and click submit to proceed.',\n 'notebooks.rename.label': 'New name',\n 'notebooks.rename.placeholder': 'New name',\n 'notebooks.rename.action': 'Submit',\n 'notebooks.delete.title': 'Delete {{name}}?',\n 'notebooks.delete.message':\n \"You'll no longer see this notebook here. This will also delete related activity like prompts, responses, and feedback from your Lightspeed Activity.\",\n 'notebooks.delete.action': 'Delete',\n 'notebooks.delete.toast': 'Notebook deleted!',\n 'notebooks.updated.today': 'Updated today',\n 'notebooks.updated.yesterday': 'Updated 1 day ago',\n 'notebooks.updated.days': 'Updated {{days}} days ago',\n 'notebooks.updated.on': 'Updated on',\n 'notebooks.card.openAria': 'Open notebook {{name}}',\n\n // Notebook sample prompts\n 'notebooks.prompts.coreConcepts.title': 'What are the core concepts?',\n 'notebooks.prompts.vulnerabilities.title': 'Show my critical vulnerabilities',\n 'notebooks.prompts.accessIssue.title': 'Help me with an access issue',\n\n // Notebook view\n 'notebook.view.title': 'Untitled notebook',\n 'notebook.view.close': 'Close notebook',\n 'notebook.view.documents.count': '{{count}} Documents',\n 'notebook.view.documents.add': 'Add',\n 'notebook.view.upload.heading': 'Upload a resource to get started',\n 'notebook.view.upload.action': 'Upload a resource',\n 'notebook.view.input.placeholder': 'Ask about your documents...',\n 'notebook.view.input.disabledTooltip':\n 'Select at least one loaded resource to start chatting',\n 'notebook.view.sidebar.collapse': 'Collapse sidebar',\n 'notebook.view.sidebar.expand': 'Expand sidebar',\n 'notebook.view.sidebar.resize': 'Resize sidebar',\n 'notebook.view.documents.uploading': 'Uploading document',\n 'notebook.view.documents.maxReached':\n 'Maximum 10 documents are allowed. Delete a document to upload a new document.',\n 'notebook.upload.failed': '\"{{fileName}}\" upload failed.',\n\n // Notebook upload modal\n 'notebook.upload.modal.title': 'Add a document to Notebook',\n 'notebook.upload.modal.dragDropTitle': 'Drag and drop files here',\n 'notebook.upload.modal.browseButton': 'Upload',\n 'notebook.upload.modal.separator': 'or',\n 'notebook.upload.modal.infoText':\n 'Accepted file types: .md, .txt, .pdf, .json, .yaml, .log',\n 'notebook.upload.modal.selectedFiles': '{{count}} of {{max}} files selected',\n 'notebook.upload.modal.addButton': 'Add ({{count}})',\n 'notebook.upload.modal.removeFile': 'Remove {{fileName}}',\n 'notebook.upload.error.unsupportedType':\n 'Upload error: Unsupported file type(s) found. Please upload only supported file types.',\n 'notebook.upload.error.fileTooLarge':\n 'Upload error: File size exceeds 25 MB limit.',\n 'notebook.upload.error.tooManyFiles':\n 'Upload error: Maximum of {{max}} files allowed.',\n\n // Notebook overwrite modal\n 'notebook.overwrite.modal.title': 'Overwrite Files?',\n 'notebook.overwrite.modal.description':\n 'The following files already exist in this notebook. Do you want to overwrite them with the new versions?',\n 'notebook.overwrite.modal.action': 'Overwrite',\n 'notebook.document.delete': 'Delete',\n 'notebook.document.delete.title': 'Remove resource?',\n 'notebook.document.delete.description':\n 'Are you sure you want to remove <documentName/> from this notebook? This action cannot be undone.',\n 'notebook.document.delete.action': 'Remove',\n 'notebook.document.delete.success':\n '\"{{documentName}}\" removed successfully.',\n\n // Sample prompts - General Development\n 'prompts.codeReadability.title': 'Get Help On Code Readability',\n 'prompts.codeReadability.message':\n 'Can you suggest techniques I can use to make my code more readable and maintainable?',\n 'prompts.debugging.title': 'Get Help With Debugging',\n 'prompts.debugging.message':\n 'My application is throwing an error when trying to connect to the database. Can you help me identify the issue?',\n 'prompts.developmentConcept.title': 'Explain a Development Concept',\n 'prompts.developmentConcept.message':\n 'Can you explain how microservices architecture works and its advantages over a monolithic design?',\n 'prompts.codeOptimization.title': 'Suggest Code Optimizations',\n 'prompts.codeOptimization.message':\n 'Can you suggest common ways to optimize code to achieve better performance?',\n 'prompts.documentation.title': 'Documentation Summary',\n 'prompts.documentation.message':\n 'Can you summarize the documentation for implementing OAuth 2.0 authentication in a web app?',\n 'prompts.gitWorkflows.title': 'Workflows With Git',\n 'prompts.gitWorkflows.message':\n 'I want to make changes to code on another branch without losing my existing work. What is the procedure to do this using Git?',\n 'prompts.testingStrategies.title': 'Suggest Testing Strategies',\n 'prompts.testingStrategies.message':\n 'Can you recommend some common testing strategies that will make my application robust and error-free?',\n 'prompts.sortingAlgorithms.title': 'Demystify Sorting Algorithms',\n 'prompts.sortingAlgorithms.message':\n 'Can you explain the difference between a quicksort and a merge sort algorithm, and when to use each?',\n 'prompts.eventDriven.title': 'Understand Event-Driven Architecture',\n 'prompts.eventDriven.message':\n \"Can you explain what event-driven architecture is and when it's beneficial to use it in software development?\",\n\n // Sample prompts - RHDH Specific\n 'prompts.tekton.title': 'Deploy With Tekton',\n 'prompts.tekton.message':\n 'Can you help me automate the deployment of my application using Tekton pipelines?',\n 'prompts.openshift.title': 'Create An OpenShift Deployment',\n 'prompts.openshift.message':\n 'Can you guide me through creating a new deployment in OpenShift for a containerized application?',\n 'prompts.rhdh.title': 'Getting Started with Red Hat Developer Hub',\n 'prompts.rhdh.message':\n 'Can you guide me through the first steps to start using Developer Hub as a developer, like exploring the Software Catalog and adding my service?',\n\n // Conversation history\n 'conversation.delete.confirm.title': 'Delete chat?',\n 'conversation.delete.confirm.message':\n \"You'll no longer see this chat here. This will also delete related activity like prompts, responses, and feedback from your Lightspeed Activity.\",\n 'conversation.delete.confirm.action': 'Delete',\n 'conversation.rename.confirm.title': 'Rename chat?',\n 'conversation.rename.confirm.action': 'Rename',\n 'conversation.rename.placeholder': 'Chat name',\n\n // Permissions\n 'permission.required.title': 'Missing permissions',\n 'permission.required.description':\n 'To view <subject/>, contact your administrator to give the <permissions/> permission.',\n 'permission.subject.plugin': 'the Lightspeed plugin',\n 'permission.subject.notebooks': 'the Lightspeed notebooks',\n 'permission.notebooks.goBack': 'Go back',\n\n // LCORE / LLM (no models registered)\n 'lcore.notConfigured.title': 'Connect an LLM to get started',\n 'lcore.notConfigured.description':\n \"Lightspeed requires a registered LLM. Contact your organization's platform administrator to complete the setup.\",\n 'lcore.notConfigured.developerLightspeedDocs':\n 'Configuring Developer Lightspeed',\n 'lcore.notConfigured.backendDocs': 'Lightspeed Backend Setup',\n 'lcore.loadError.title': 'Could not load models',\n 'lcore.loadError.description':\n 'The Lightspeed backend did not return a model list. Check that the service is running and reachable, then try again.',\n\n // Disclaimers\n 'disclaimer.withValidation':\n \"This feature uses AI technology. Do not include any personal information or any other sensitive information in your input. Interactions may be used to improve Red Hat's products or services.\",\n 'disclaimer.withoutValidation':\n \"This feature uses AI technology. Do not include any personal information or any other sensitive information in your input. Interactions may be used to improve Red Hat's products or services.\",\n\n // Footer and feedback\n 'footer.accuracy.label': 'Always review AI generated content prior to use.',\n\n // Common actions\n 'common.cancel': 'Cancel',\n 'common.close': 'Close',\n 'common.readMore': 'Read more',\n 'common.retry': 'Try again',\n 'common.loading': 'Loading',\n 'common.noSearchResults': 'No result matches the search',\n\n // Menu items\n 'menu.newConversation': 'New Chat',\n\n // Chat-specific UI elements\n 'chatbox.header.title': 'Developer Lightspeed',\n 'chatbox.search.placeholder': 'Search',\n 'chatbox.provider.other': 'Other',\n 'chatbox.emptyState.noPinnedChats': 'No pinned chats',\n 'chatbox.emptyState.noRecentChats': 'No recent chats',\n 'chatbox.emptyState.noResults.title': 'No results found',\n 'chatbox.emptyState.noResults.body':\n 'Adjust your search query and try again. Check your spelling or try a more general term.',\n 'chatbox.welcome.greeting': 'Hello, {{userName}}',\n 'chatbox.welcome.description': 'How can I help you today?',\n 'chatbox.message.placeholder': 'Enter a prompt for Lightspeed',\n 'chatbox.fileUpload.failed': 'File upload failed',\n 'chatbox.fileUpload.infoText':\n 'Supported file types are: .txt, .yaml, and .json. The maximum file size is 25 MB.',\n\n // Accessibility and ARIA labels\n 'aria.chatbotSelector': 'Chatbot selector',\n 'aria.important': 'Important',\n 'aria.chatHistoryMenu': 'Chat history menu',\n 'aria.closeDrawerPanel': 'Close drawer panel',\n 'aria.search.placeholder': 'Search',\n 'aria.searchPreviousConversations': 'Search previous conversations',\n 'aria.resize': 'Resize',\n 'aria.options.label': 'Options',\n 'aria.scroll.down': 'Back to bottom',\n 'aria.scroll.up': 'Back to top',\n 'aria.settings.label': 'Chatbot options',\n 'aria.close': 'Close chatbot',\n\n // Modal actions\n 'modal.edit': 'Edit',\n 'modal.save': 'Save',\n 'modal.close': 'Close',\n 'modal.cancel': 'Cancel',\n\n // Conversation actions\n 'conversation.delete': 'Delete',\n 'conversation.rename': 'Rename',\n 'conversation.addToPinnedChats': 'Pin',\n 'conversation.removeFromPinnedChats': 'Unpin',\n 'conversation.announcement.userMessage':\n 'Message from User: {{prompt}}. Message from Bot is loading.',\n 'conversation.announcement.responseStopped': 'Response stopped.',\n\n // User states\n 'user.guest': 'Guest',\n 'user.loading': '...',\n\n // Button tooltips and labels\n 'tooltip.attach': 'Attach',\n 'tooltip.send': 'Send',\n 'tooltip.microphone.active': 'Stop listening',\n 'tooltip.microphone.inactive': 'Use microphone',\n 'tooltip.expandHistoryPanel': 'Expand chat history',\n 'tooltip.collapseHistoryPanel': 'Collapse chat history',\n 'tooltip.quickNewChat': 'New chat',\n 'button.newChat': 'New chat',\n 'tooltip.chatHistoryMenu': 'Chat history menu',\n 'tooltip.responseRecorded': 'Response recorded',\n 'tooltip.backToTop': 'Back to top',\n 'tooltip.backToBottom': 'Back to bottom',\n 'tooltip.settings': 'Chatbot options',\n 'tooltip.close': 'Close',\n 'tooltip.fab.open': 'Open Lightspeed',\n 'tooltip.fab.close': 'Close Lightspeed',\n\n // Attach menu\n 'attach.menu.title': 'Attach',\n 'attach.menu.description': 'Attach a JSON, YAML, or TXT file',\n\n // Modal titles\n 'modal.title.preview': 'Preview attachment',\n 'modal.title.edit': 'Edit attachment',\n\n // Alt texts for icons\n 'icon.lightspeed.alt': 'lightspeed icon',\n 'icon.permissionRequired.alt': 'permission required icon',\n\n // Message utilities\n 'message.options.label': 'Options',\n\n // File attachment errors\n 'file.upload.error.alreadyExists': 'File already exists.',\n 'file.upload.error.multipleFiles': 'Uploaded more than one file.',\n 'file.upload.error.unsupportedType':\n 'Unsupported file type. Supported types are: .txt, .yaml, and .json.',\n 'file.upload.error.fileTooLarge':\n 'Your file size is too large. Please ensure that your file is less than 25 MB.',\n 'file.upload.error.readFailed': 'Failed to read file: {{errorMessage}}',\n\n // Developer error messages\n 'error.context.fileAttachment':\n 'useFileAttachmentContext must be within a FileAttachmentContextProvider',\n\n // Feedback actions\n 'feedback.form.title': 'Why did you choose this rating?',\n 'feedback.form.textAreaPlaceholder': 'Provide optional additional feedback',\n 'feedback.form.submitWord': 'Submit',\n 'feedback.tooltips.goodResponse': 'Good Response',\n 'feedback.tooltips.badResponse': 'Bad Response',\n 'feedback.tooltips.copied': 'Copied',\n 'feedback.tooltips.copy': 'Copy',\n 'feedback.tooltips.listening': 'Listening',\n 'feedback.tooltips.listen': 'Listen',\n 'feedback.quickResponses.positive.helpful': 'Helpful information',\n 'feedback.quickResponses.positive.easyToUnderstand': 'Easy to understand',\n 'feedback.quickResponses.positive.resolvedIssue': 'Resolved my issue',\n 'feedback.quickResponses.negative.didntAnswer': \"Didn't answer my question\",\n 'feedback.quickResponses.negative.hardToUnderstand': 'Hard to understand',\n 'feedback.quickResponses.negative.notHelpful': 'Not Helpful',\n 'feedback.completion.title': 'Feedback submitted',\n 'feedback.completion.body':\n \"We've received your response. Thank you for sharing your feedback!\",\n\n // Conversation categorization\n 'conversation.category.pinnedChats': 'Pinned chats',\n 'conversation.category.recent': 'Chats',\n\n // lightspeed settings\n 'settings.pinned.enable': 'Enable pinned chats',\n 'settings.pinned.disable': 'Disable pinned chats',\n 'settings.pinned.enabled.description': 'Pinned chats are currently enabled',\n 'settings.pinned.disabled.description': 'Pinned chats are currently disabled',\n 'settings.mcp.label': 'MCP settings',\n 'settings.mcp.badge': 'New',\n\n // MCP settings\n 'mcp.settings.title': 'MCP servers',\n 'mcp.settings.selectedCount': '{{selectedCount}} of {{totalCount}} selected',\n 'mcp.settings.closeAriaLabel': 'Close MCP settings',\n 'mcp.settings.readOnlyAccess': 'You have read-only access to MCP servers.',\n 'mcp.settings.tableAriaLabel': 'MCP servers table',\n 'mcp.settings.enabled': 'Enabled',\n 'mcp.settings.name': 'Name',\n 'mcp.settings.status': 'Status',\n 'mcp.settings.edit': 'Edit',\n 'mcp.settings.loading': 'Loading MCP servers...',\n 'mcp.settings.noneAvailable': 'No MCP servers available.',\n 'mcp.settings.status.disabled': 'Disabled',\n 'mcp.settings.status.tokenRequired': 'Token required',\n 'mcp.settings.status.failed': 'Failed',\n 'mcp.settings.status.oneTool': '{{count}} tool',\n 'mcp.settings.status.manyTools': '{{count}} tools',\n 'mcp.settings.status.unknown': 'Unknown',\n 'mcp.settings.toggleServerAriaLabel': 'Toggle {{serverName}}',\n 'mcp.settings.editServerAriaLabel': 'Edit {{serverName}}',\n 'mcp.settings.configureServerTitle': 'Configure {{serverName}} server',\n 'mcp.settings.closeConfigureModalAriaLabel': 'Close configure modal',\n 'mcp.settings.modalDescription':\n 'Credentials are encrypted at rest and scoped to your profile. Lightspeed will operate with your exact permissions.',\n 'mcp.settings.savedToken': 'Saved token',\n 'mcp.settings.personalAccessToken': 'Personal Access Token',\n 'mcp.settings.usingAdminCredential':\n 'Using Administrator provided credential. Enter a personal token to override for your account.',\n 'mcp.settings.enterToken': 'Enter your token',\n 'mcp.settings.removePersonalToken': 'Remove personal token',\n 'mcp.settings.token.clearAriaLabel': 'Clear token input',\n 'mcp.settings.token.validating': 'Validating token...',\n 'mcp.settings.token.savingAndValidating': 'Saving and validating token...',\n 'mcp.settings.token.urlUnavailableForValidation':\n 'Unable to validate token because server URL is not available.',\n 'mcp.settings.token.invalidCredentials':\n 'Invalid credentials. Check server URL and token.',\n 'mcp.settings.token.validationFailed':\n 'Validation failed. Check server URL and token.',\n 'mcp.settings.token.connectionSuccessful': 'Connection successful',\n\n // Tool calling\n 'toolCall.header': 'Tool response: {{toolName}}',\n 'toolCall.thinking': 'Thought for {{seconds}} seconds',\n 'toolCall.executionTime': 'Execution time: ',\n 'toolCall.parameters': 'Parameters',\n 'toolCall.response': 'Response',\n 'toolCall.showMore': 'show more',\n 'toolCall.showLess': 'show less',\n 'toolCall.loading': 'Executing tool...',\n 'toolCall.executing': 'Executing tool...',\n 'toolCall.copyResponse': 'Copy response',\n 'toolCall.summary': \"Here's a summary of your response\",\n 'toolCall.mcpServer': 'MCP Server',\n // Display modes\n 'settings.displayMode.label': 'Display mode',\n 'settings.displayMode.overlay': 'Overlay',\n 'settings.displayMode.docked': 'Dock to window',\n 'settings.displayMode.fullscreen': 'Fullscreen',\n\n // Sort options\n 'sort.label': 'Sort conversations',\n 'sort.newest': 'Date (newest first)',\n 'sort.oldest': 'Date (oldest first)',\n 'sort.alphabeticalAsc': 'Name (A-Z)',\n 'sort.alphabeticalDesc': 'Name (Z-A)',\n // Deep thinking\n 'reasoning.thinking': 'Show thinking',\n};\n\n/**\n * Translation Reference for Developer Lightspeed\n * @alpha\n **/\nexport const lightspeedTranslationRef = createTranslationRef({\n id: 'plugin.lightspeed',\n messages: lightspeedMessages,\n});\n"],"names":[],"mappings":";;AAuBO,MAAM,kBAAA,GAAqB;AAAA;AAAA,EAEhC,YAAA,EAAc,YAAA;AAAA,EACd,eAAA,EAAiB,kCAAA;AAAA,EACjB,gBAAA,EAAkB,kBAAA;AAAA,EAClB,WAAA,EAAa,MAAA;AAAA,EACb,gBAAA,EAAkB,WAAA;AAAA,EAClB,2BAAA,EAA6B,mBAAA;AAAA,EAC7B,sBAAA,EAAwB,8BAAA;AAAA,EACxB,iBAAA,EAAmB,cAAA;AAAA,EACnB,uBAAA,EAAyB,sBAAA;AAAA,EACzB,6BAAA,EACE,iFAAA;AAAA,EACF,wBAAA,EAA0B,uBAAA;AAAA,EAC1B,qBAAA,EAAuB,WAAA;AAAA,EACvB,0BAAA,EAA4B,QAAA;AAAA,EAC5B,0BAAA,EAA4B,QAAA;AAAA,EAC5B,wBAAA,EAA0B,kBAAA;AAAA,EAC1B,8BAAA,EACE,0EAAA;AAAA,EACF,wBAAA,EAA0B,UAAA;AAAA,EAC1B,8BAAA,EAAgC,UAAA;AAAA,EAChC,yBAAA,EAA2B,QAAA;AAAA,EAC3B,wBAAA,EAA0B,kBAAA;AAAA,EAC1B,0BAAA,EACE,sJAAA;AAAA,EACF,yBAAA,EAA2B,QAAA;AAAA,EAC3B,wBAAA,EAA0B,mBAAA;AAAA,EAC1B,yBAAA,EAA2B,eAAA;AAAA,EAC3B,6BAAA,EAA+B,mBAAA;AAAA,EAC/B,wBAAA,EAA0B,2BAAA;AAAA,EAC1B,sBAAA,EAAwB,YAAA;AAAA,EACxB,yBAAA,EAA2B,wBAAA;AAAA;AAAA,EAG3B,sCAAA,EAAwC,6BAAA;AAAA,EACxC,yCAAA,EAA2C,kCAAA;AAAA,EAC3C,qCAAA,EAAuC,8BAAA;AAAA;AAAA,EAGvC,qBAAA,EAAuB,mBAAA;AAAA,EACvB,qBAAA,EAAuB,gBAAA;AAAA,EACvB,+BAAA,EAAiC,qBAAA;AAAA,EACjC,6BAAA,EAA+B,KAAA;AAAA,EAC/B,8BAAA,EAAgC,kCAAA;AAAA,EAChC,6BAAA,EAA+B,mBAAA;AAAA,EAC/B,iCAAA,EAAmC,6BAAA;AAAA,EACnC,qCAAA,EACE,uDAAA;AAAA,EACF,gCAAA,EAAkC,kBAAA;AAAA,EAClC,8BAAA,EAAgC,gBAAA;AAAA,EAChC,8BAAA,EAAgC,gBAAA;AAAA,EAChC,mCAAA,EAAqC,oBAAA;AAAA,EACrC,oCAAA,EACE,+EAAA;AAAA,EACF,wBAAA,EAA0B,+BAAA;AAAA;AAAA,EAG1B,6BAAA,EAA+B,4BAAA;AAAA,EAC/B,qCAAA,EAAuC,0BAAA;AAAA,EACvC,oCAAA,EAAsC,QAAA;AAAA,EACtC,iCAAA,EAAmC,IAAA;AAAA,EACnC,gCAAA,EACE,0DAAA;AAAA,EACF,qCAAA,EAAuC,qCAAA;AAAA,EACvC,iCAAA,EAAmC,iBAAA;AAAA,EACnC,kCAAA,EAAoC,qBAAA;AAAA,EACpC,uCAAA,EACE,wFAAA;AAAA,EACF,oCAAA,EACE,8CAAA;AAAA,EACF,oCAAA,EACE,iDAAA;AAAA;AAAA,EAGF,gCAAA,EAAkC,kBAAA;AAAA,EAClC,sCAAA,EACE,0GAAA;AAAA,EACF,iCAAA,EAAmC,WAAA;AAAA,EACnC,0BAAA,EAA4B,QAAA;AAAA,EAC5B,gCAAA,EAAkC,kBAAA;AAAA,EAClC,sCAAA,EACE,mGAAA;AAAA,EACF,iCAAA,EAAmC,QAAA;AAAA,EACnC,kCAAA,EACE,0CAAA;AAAA;AAAA,EAGF,+BAAA,EAAiC,8BAAA;AAAA,EACjC,iCAAA,EACE,sFAAA;AAAA,EACF,yBAAA,EAA2B,yBAAA;AAAA,EAC3B,2BAAA,EACE,iHAAA;AAAA,EACF,kCAAA,EAAoC,+BAAA;AAAA,EACpC,oCAAA,EACE,mGAAA;AAAA,EACF,gCAAA,EAAkC,4BAAA;AAAA,EAClC,kCAAA,EACE,6EAAA;AAAA,EACF,6BAAA,EAA+B,uBAAA;AAAA,EAC/B,+BAAA,EACE,6FAAA;AAAA,EACF,4BAAA,EAA8B,oBAAA;AAAA,EAC9B,8BAAA,EACE,+HAAA;AAAA,EACF,iCAAA,EAAmC,4BAAA;AAAA,EACnC,mCAAA,EACE,uGAAA;AAAA,EACF,iCAAA,EAAmC,8BAAA;AAAA,EACnC,mCAAA,EACE,sGAAA;AAAA,EACF,2BAAA,EAA6B,sCAAA;AAAA,EAC7B,6BAAA,EACE,+GAAA;AAAA;AAAA,EAGF,sBAAA,EAAwB,oBAAA;AAAA,EACxB,wBAAA,EACE,mFAAA;AAAA,EACF,yBAAA,EAA2B,gCAAA;AAAA,EAC3B,2BAAA,EACE,kGAAA;AAAA,EACF,oBAAA,EAAsB,4CAAA;AAAA,EACtB,sBAAA,EACE,kJAAA;AAAA;AAAA,EAGF,mCAAA,EAAqC,cAAA;AAAA,EACrC,qCAAA,EACE,kJAAA;AAAA,EACF,oCAAA,EAAsC,QAAA;AAAA,EACtC,mCAAA,EAAqC,cAAA;AAAA,EACrC,oCAAA,EAAsC,QAAA;AAAA,EACtC,iCAAA,EAAmC,WAAA;AAAA;AAAA,EAGnC,2BAAA,EAA6B,qBAAA;AAAA,EAC7B,iCAAA,EACE,uFAAA;AAAA,EACF,2BAAA,EAA6B,uBAAA;AAAA,EAC7B,8BAAA,EAAgC,0BAAA;AAAA,EAChC,6BAAA,EAA+B,SAAA;AAAA;AAAA,EAG/B,2BAAA,EAA6B,+BAAA;AAAA,EAC7B,iCAAA,EACE,iHAAA;AAAA,EACF,6CAAA,EACE,kCAAA;AAAA,EACF,iCAAA,EAAmC,0BAAA;AAAA,EACnC,uBAAA,EAAyB,uBAAA;AAAA,EACzB,6BAAA,EACE,sHAAA;AAAA;AAAA,EAGF,2BAAA,EACE,gMAAA;AAAA,EACF,8BAAA,EACE,gMAAA;AAAA;AAAA,EAGF,uBAAA,EAAyB,kDAAA;AAAA;AAAA,EAGzB,eAAA,EAAiB,QAAA;AAAA,EACjB,cAAA,EAAgB,OAAA;AAAA,EAChB,iBAAA,EAAmB,WAAA;AAAA,EACnB,cAAA,EAAgB,WAAA;AAAA,EAChB,gBAAA,EAAkB,SAAA;AAAA,EAClB,wBAAA,EAA0B,8BAAA;AAAA;AAAA,EAG1B,sBAAA,EAAwB,UAAA;AAAA;AAAA,EAGxB,sBAAA,EAAwB,sBAAA;AAAA,EACxB,4BAAA,EAA8B,QAAA;AAAA,EAC9B,wBAAA,EAA0B,OAAA;AAAA,EAC1B,kCAAA,EAAoC,iBAAA;AAAA,EACpC,kCAAA,EAAoC,iBAAA;AAAA,EACpC,oCAAA,EAAsC,kBAAA;AAAA,EACtC,mCAAA,EACE,yFAAA;AAAA,EACF,0BAAA,EAA4B,qBAAA;AAAA,EAC5B,6BAAA,EAA+B,2BAAA;AAAA,EAC/B,6BAAA,EAA+B,+BAAA;AAAA,EAC/B,2BAAA,EAA6B,oBAAA;AAAA,EAC7B,6BAAA,EACE,mFAAA;AAAA;AAAA,EAGF,sBAAA,EAAwB,kBAAA;AAAA,EACxB,gBAAA,EAAkB,WAAA;AAAA,EAClB,sBAAA,EAAwB,mBAAA;AAAA,EACxB,uBAAA,EAAyB,oBAAA;AAAA,EACzB,yBAAA,EAA2B,QAAA;AAAA,EAC3B,kCAAA,EAAoC,+BAAA;AAAA,EACpC,aAAA,EAAe,QAAA;AAAA,EACf,oBAAA,EAAsB,SAAA;AAAA,EACtB,kBAAA,EAAoB,gBAAA;AAAA,EACpB,gBAAA,EAAkB,aAAA;AAAA,EAClB,qBAAA,EAAuB,iBAAA;AAAA,EACvB,YAAA,EAAc,eAAA;AAAA;AAAA,EAGd,YAAA,EAAc,MAAA;AAAA,EACd,YAAA,EAAc,MAAA;AAAA,EACd,aAAA,EAAe,OAAA;AAAA,EACf,cAAA,EAAgB,QAAA;AAAA;AAAA,EAGhB,qBAAA,EAAuB,QAAA;AAAA,EACvB,qBAAA,EAAuB,QAAA;AAAA,EACvB,+BAAA,EAAiC,KAAA;AAAA,EACjC,oCAAA,EAAsC,OAAA;AAAA,EACtC,uCAAA,EACE,6DAAA;AAAA,EACF,2CAAA,EAA6C,mBAAA;AAAA;AAAA,EAG7C,YAAA,EAAc,OAAA;AAAA,EACd,cAAA,EAAgB,KAAA;AAAA;AAAA,EAGhB,gBAAA,EAAkB,QAAA;AAAA,EAClB,cAAA,EAAgB,MAAA;AAAA,EAChB,2BAAA,EAA6B,gBAAA;AAAA,EAC7B,6BAAA,EAA+B,gBAAA;AAAA,EAC/B,4BAAA,EAA8B,qBAAA;AAAA,EAC9B,8BAAA,EAAgC,uBAAA;AAAA,EAChC,sBAAA,EAAwB,UAAA;AAAA,EACxB,gBAAA,EAAkB,UAAA;AAAA,EAClB,yBAAA,EAA2B,mBAAA;AAAA,EAC3B,0BAAA,EAA4B,mBAAA;AAAA,EAC5B,mBAAA,EAAqB,aAAA;AAAA,EACrB,sBAAA,EAAwB,gBAAA;AAAA,EACxB,kBAAA,EAAoB,iBAAA;AAAA,EACpB,eAAA,EAAiB,OAAA;AAAA,EACjB,kBAAA,EAAoB,iBAAA;AAAA,EACpB,mBAAA,EAAqB,kBAAA;AAAA;AAAA,EAGrB,mBAAA,EAAqB,QAAA;AAAA,EACrB,yBAAA,EAA2B,kCAAA;AAAA;AAAA,EAG3B,qBAAA,EAAuB,oBAAA;AAAA,EACvB,kBAAA,EAAoB,iBAAA;AAAA;AAAA,EAGpB,qBAAA,EAAuB,iBAAA;AAAA,EACvB,6BAAA,EAA+B,0BAAA;AAAA;AAAA,EAG/B,uBAAA,EAAyB,SAAA;AAAA;AAAA,EAGzB,iCAAA,EAAmC,sBAAA;AAAA,EACnC,iCAAA,EAAmC,8BAAA;AAAA,EACnC,mCAAA,EACE,qEAAA;AAAA,EACF,gCAAA,EACE,+EAAA;AAAA,EACF,8BAAA,EAAgC,uCAAA;AAAA;AAAA,EAGhC,8BAAA,EACE,yEAAA;AAAA;AAAA,EAGF,qBAAA,EAAuB,iCAAA;AAAA,EACvB,mCAAA,EAAqC,sCAAA;AAAA,EACrC,0BAAA,EAA4B,QAAA;AAAA,EAC5B,gCAAA,EAAkC,eAAA;AAAA,EAClC,+BAAA,EAAiC,cAAA;AAAA,EACjC,0BAAA,EAA4B,QAAA;AAAA,EAC5B,wBAAA,EAA0B,MAAA;AAAA,EAC1B,6BAAA,EAA+B,WAAA;AAAA,EAC/B,0BAAA,EAA4B,QAAA;AAAA,EAC5B,0CAAA,EAA4C,qBAAA;AAAA,EAC5C,mDAAA,EAAqD,oBAAA;AAAA,EACrD,gDAAA,EAAkD,mBAAA;AAAA,EAClD,8CAAA,EAAgD,2BAAA;AAAA,EAChD,mDAAA,EAAqD,oBAAA;AAAA,EACrD,6CAAA,EAA+C,aAAA;AAAA,EAC/C,2BAAA,EAA6B,oBAAA;AAAA,EAC7B,0BAAA,EACE,oEAAA;AAAA;AAAA,EAGF,mCAAA,EAAqC,cAAA;AAAA,EACrC,8BAAA,EAAgC,OAAA;AAAA;AAAA,EAGhC,wBAAA,EAA0B,qBAAA;AAAA,EAC1B,yBAAA,EAA2B,sBAAA;AAAA,EAC3B,qCAAA,EAAuC,oCAAA;AAAA,EACvC,sCAAA,EAAwC,qCAAA;AAAA,EACxC,oBAAA,EAAsB,cAAA;AAAA,EACtB,oBAAA,EAAsB,KAAA;AAAA;AAAA,EAGtB,oBAAA,EAAsB,aAAA;AAAA,EACtB,4BAAA,EAA8B,8CAAA;AAAA,EAC9B,6BAAA,EAA+B,oBAAA;AAAA,EAC/B,6BAAA,EAA+B,2CAAA;AAAA,EAC/B,6BAAA,EAA+B,mBAAA;AAAA,EAC/B,sBAAA,EAAwB,SAAA;AAAA,EACxB,mBAAA,EAAqB,MAAA;AAAA,EACrB,qBAAA,EAAuB,QAAA;AAAA,EACvB,mBAAA,EAAqB,MAAA;AAAA,EACrB,sBAAA,EAAwB,wBAAA;AAAA,EACxB,4BAAA,EAA8B,2BAAA;AAAA,EAC9B,8BAAA,EAAgC,UAAA;AAAA,EAChC,mCAAA,EAAqC,gBAAA;AAAA,EACrC,4BAAA,EAA8B,QAAA;AAAA,EAC9B,6BAAA,EAA+B,gBAAA;AAAA,EAC/B,+BAAA,EAAiC,iBAAA;AAAA,EACjC,6BAAA,EAA+B,SAAA;AAAA,EAC/B,oCAAA,EAAsC,uBAAA;AAAA,EACtC,kCAAA,EAAoC,qBAAA;AAAA,EACpC,mCAAA,EAAqC,iCAAA;AAAA,EACrC,2CAAA,EAA6C,uBAAA;AAAA,EAC7C,+BAAA,EACE,oHAAA;AAAA,EACF,yBAAA,EAA2B,aAAA;AAAA,EAC3B,kCAAA,EAAoC,uBAAA;AAAA,EACpC,mCAAA,EACE,+FAAA;AAAA,EACF,yBAAA,EAA2B,kBAAA;AAAA,EAC3B,kCAAA,EAAoC,uBAAA;AAAA,EACpC,mCAAA,EAAqC,mBAAA;AAAA,EACrC,+BAAA,EAAiC,qBAAA;AAAA,EACjC,wCAAA,EAA0C,gCAAA;AAAA,EAC1C,gDAAA,EACE,+DAAA;AAAA,EACF,uCAAA,EACE,kDAAA;AAAA,EACF,qCAAA,EACE,gDAAA;AAAA,EACF,yCAAA,EAA2C,uBAAA;AAAA;AAAA,EAG3C,iBAAA,EAAmB,6BAAA;AAAA,EACnB,mBAAA,EAAqB,iCAAA;AAAA,EACrB,wBAAA,EAA0B,kBAAA;AAAA,EAC1B,qBAAA,EAAuB,YAAA;AAAA,EACvB,mBAAA,EAAqB,UAAA;AAAA,EACrB,mBAAA,EAAqB,WAAA;AAAA,EACrB,mBAAA,EAAqB,WAAA;AAAA,EACrB,kBAAA,EAAoB,mBAAA;AAAA,EACpB,oBAAA,EAAsB,mBAAA;AAAA,EACtB,uBAAA,EAAyB,eAAA;AAAA,EACzB,kBAAA,EAAoB,mCAAA;AAAA,EACpB,oBAAA,EAAsB,YAAA;AAAA;AAAA,EAEtB,4BAAA,EAA8B,cAAA;AAAA,EAC9B,8BAAA,EAAgC,SAAA;AAAA,EAChC,6BAAA,EAA+B,gBAAA;AAAA,EAC/B,iCAAA,EAAmC,YAAA;AAAA;AAAA,EAGnC,YAAA,EAAc,oBAAA;AAAA,EACd,aAAA,EAAe,qBAAA;AAAA,EACf,aAAA,EAAe,qBAAA;AAAA,EACf,sBAAA,EAAwB,YAAA;AAAA,EACxB,uBAAA,EAAyB,YAAA;AAAA;AAAA,EAEzB,oBAAA,EAAsB;AACxB;AAMO,MAAM,2BAA2B,oBAAA,CAAqB;AAAA,EAC3D,EAAA,EAAI,mBAAA;AAAA,EACJ,QAAA,EAAU;AACZ,CAAC;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createGenerateClassName as createGenerateClassName$1 } from '@material-ui/core/styles';
|
|
2
|
+
import { createGenerateClassName } from '@mui/styles';
|
|
3
|
+
|
|
4
|
+
const generateClassName = createGenerateClassName({
|
|
5
|
+
seed: "lightspeed"
|
|
6
|
+
});
|
|
7
|
+
const generateClassNameV4 = createGenerateClassName$1({
|
|
8
|
+
seed: "lightspeed"
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
export { generateClassName, generateClassNameV4 };
|
|
12
|
+
//# sourceMappingURL=generateClassName.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateClassName.esm.js","sources":["../../src/utils/generateClassName.ts"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createGenerateClassName as createGenerateClassNameV4 } from '@material-ui/core/styles';\nimport { createGenerateClassName } from '@mui/styles';\n\nexport const generateClassName = createGenerateClassName({\n seed: 'lightspeed',\n});\n\nexport const generateClassNameV4 = createGenerateClassNameV4({\n seed: 'lightspeed',\n});\n"],"names":["createGenerateClassNameV4"],"mappings":";;;AAmBO,MAAM,oBAAoB,uBAAA,CAAwB;AAAA,EACvD,IAAA,EAAM;AACR,CAAC;AAEM,MAAM,sBAAsBA,yBAAA,CAA0B;AAAA,EAC3D,IAAA,EAAM;AACR,CAAC;;;;"}
|
|
@@ -164,8 +164,8 @@ const sortConversations = (messages, sortOption) => {
|
|
|
164
164
|
});
|
|
165
165
|
};
|
|
166
166
|
const getCategorizeMessages = (messages, pinnedChats, addProps, t, sortOption = "newest") => {
|
|
167
|
-
const pinnedChatsKey = t?.("conversation.category.pinnedChats") || "Pinned";
|
|
168
|
-
const recentKey = t?.("conversation.category.recent") || "
|
|
167
|
+
const pinnedChatsKey = t?.("conversation.category.pinnedChats") || "Pinned chats";
|
|
168
|
+
const recentKey = t?.("conversation.category.recent") || "Chats";
|
|
169
169
|
const categorizedMessages = {
|
|
170
170
|
[pinnedChatsKey]: [],
|
|
171
171
|
[recentKey]: []
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightspeed-chatbox-utils.esm.js","sources":["../../src/utils/lightspeed-chatbox-utils.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport PushPinIcon from '@mui/icons-material/PushPin';\nimport { Conversation, SourcesCardProps } from '@patternfly/chatbot';\nimport { Spinner } from '@patternfly/react-core';\n\nimport {\n BaseMessage,\n ConversationList,\n ConversationSummary,\n LCSConversation,\n ReferencedDocument,\n ReferencedDocuments,\n ToolCall,\n} from '../types';\n\nexport const getFootnoteProps = (\n t?: (key: string, params?: any) => string,\n) => ({\n label:\n t?.('footer.accuracy.label') ||\n 'Always review AI generated content prior to use.',\n});\n\nexport const getTimestampVariablesString = (v: number) => {\n if (v < 10) {\n return `0${v}`;\n }\n return `${v}`;\n};\n\nconst isBlankLine = (line: string) => !line.trim();\n\n/** Ordered list item at line start (CommonMark), ignoring leading spaces. */\nconst isOrderedListLine = (line: string) => /^\\s*\\d+\\.\\s/.test(line);\n\n/** ASCII bullets; also U+2022 (•) — not a CommonMark marker, but users paste it as a list. */\nconst isBulletListLine = (line: string) =>\n /^\\s*[-*+]\\s/.test(line) || /^\\s*\\u2022(?:\\s+|\\S|$)/u.test(line);\n\nconst escapeBulletListMarker = (line: string) => {\n if (/^\\s*\\u2022/u.test(line)) {\n return line;\n }\n return line.replace(/^(\\s*)([*+-])(\\s)/, '$1\\\\$2$3');\n};\n\nconst escapeOrderedListMarker = (line: string) =>\n line.replace(/^(\\s*)(\\d+)\\.(\\s)/, '$1$2\\\\.$3');\n\n/**\n * When intro lines (no blank lines among them) are followed by a contiguous run of\n * list lines, join intro + list into one Markdown paragraph using hard breaks and\n * per-line escaping so the block does not split awkwardly in the chat UI.\n */\nconst foldListWithIntro = (\n s: string,\n isListItemLine: (line: string) => boolean,\n escapeListLine: (line: string) => string,\n): string => {\n const lines = s.split('\\n');\n let firstListIdx = -1;\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n if (line !== undefined && isListItemLine(line)) {\n firstListIdx = i;\n break;\n }\n }\n if (firstListIdx < 0) {\n return s;\n }\n\n const intro = lines.slice(0, firstListIdx);\n if (intro.some(isBlankLine)) {\n return s;\n }\n\n const rest = lines.slice(firstListIdx);\n const restItems = rest.filter(l => !isBlankLine(l));\n if (restItems.length === 0 || !restItems.every(isListItemLine)) {\n return s;\n }\n\n const escaped = restItems.map(escapeListLine);\n if (intro.length === 0) {\n return escaped.join(' \\n');\n }\n return `${intro.join(' \\n')} \\n${escaped.join(' \\n')}`;\n};\n\n/**\n * Paragraph + ordered list (even with a single newline) parses as two blocks; merge\n * intro + contiguous numbered lines into one paragraph using hard breaks (two spaces\n * + newline) and escaped `1.` markers so Markdown stays a single block.\n */\nconst foldOrderedListWithIntro = (s: string) =>\n foldListWithIntro(s, isOrderedListLine, escapeOrderedListMarker);\n\n/** Same idea as ordered lists for intro + bullet lines. */\nconst foldBulletListWithIntro = (s: string) =>\n foldListWithIntro(s, isBulletListLine, escapeBulletListMarker);\n\n/**\n * Trims user chat input and reduces blank lines that split Markdown blocks\n * (e.g. paragraph + blank line + ordered list) so PatternFly renders one user bubble.\n */\nexport const normalizeChatUserInput = (input: string): string => {\n let s = input.replace(/\\r\\n/g, '\\n').trim();\n if (!s) {\n return s;\n }\n s = s.replace(/\\n{3,}/g, '\\n\\n');\n s = s.replace(/\\n\\n(?=\\s*\\d+\\.\\s)/gm, '\\n');\n s = s.replace(/\\n\\n(?=\\s*[-*+]\\s)/gm, '\\n');\n s = s.replace(/\\n\\n(?=\\s*\\u2022)/gm, '\\n');\n s = foldOrderedListWithIntro(s);\n s = foldBulletListWithIntro(s);\n return s.trim();\n};\n\nexport const getTimestamp = (unix_timestamp: number) => {\n if (typeof unix_timestamp !== 'number' || Number.isNaN(unix_timestamp)) {\n // eslint-disable-next-line no-console\n console.error('Invalid Unix timestamp provided');\n return '';\n }\n\n const a = new Date(unix_timestamp);\n const month = getTimestampVariablesString(a.getMonth() + 1);\n const year = a.getFullYear();\n const date = getTimestampVariablesString(a.getDate());\n const hour = getTimestampVariablesString(a.getHours());\n const min = getTimestampVariablesString(a.getMinutes());\n const sec = getTimestampVariablesString(a.getSeconds());\n const time = `${date}/${month}/${year}, ${hour}:${min}:${sec}`;\n return time;\n};\n\nexport const splitJsonStrings = (jsonString: string): string[] => {\n const chunks = jsonString.split('}{');\n\n if (chunks.length <= 1) {\n return [jsonString];\n }\n\n return chunks.map((chunk, index, arr) => {\n if (index === 0) {\n return `${chunk}}`;\n } else if (index === arr.length - 1) {\n return `{${chunk}`;\n }\n return `{${chunk}}`;\n });\n};\n\ntype MessageProps = {\n content: string;\n timestamp: string;\n name?: string;\n avatar?: string | any;\n isLoading?: boolean;\n error?: {\n title: string;\n };\n sources?: SourcesCardProps;\n toolCalls?: ToolCall[];\n};\n\nexport const createMessage = ({\n role,\n name,\n avatar,\n isLoading = false,\n content,\n timestamp,\n error,\n sources,\n toolCalls,\n defaultUserName = 'Guest',\n}: MessageProps & { role: 'user' | 'bot'; defaultUserName?: string }) => ({\n role,\n name: name || defaultUserName,\n avatar,\n isLoading,\n content,\n timestamp,\n error,\n sources,\n toolCalls,\n});\n\nexport const createUserMessage = (\n props: MessageProps & { defaultUserName?: string },\n) =>\n createMessage({\n ...props,\n role: 'user',\n defaultUserName: props.defaultUserName,\n });\n\nexport const createBotMessage = (props: MessageProps) =>\n createMessage({\n ...props,\n role: 'bot',\n });\n\nexport const getConversationsData = (\n conversation: LCSConversation,\n): [BaseMessage, BaseMessage] => {\n const [userMessage, botMessage] = conversation.messages || [];\n return [\n {\n ...userMessage,\n timestamp: getTimestamp(\n conversation.started_at\n ? new Date(conversation.started_at).getTime()\n : Date.now(),\n ),\n },\n {\n ...botMessage,\n timestamp: getTimestamp(\n conversation.completed_at\n ? new Date(conversation.completed_at).getTime()\n : Date.now(),\n ),\n referenced_documents: botMessage?.referenced_documents ?? [],\n },\n ];\n};\n\nexport const transformDocumentsToSources = (\n referenced_documents: ReferencedDocuments,\n): SourcesCardProps | undefined => {\n if (!referenced_documents || referenced_documents?.length === 0) {\n return undefined;\n }\n return {\n sources: referenced_documents.map((doc: ReferencedDocument) => ({\n body: doc.doc_description,\n title: doc.doc_title,\n link: doc?.doc_url,\n isExternal: !!doc?.doc_url,\n })),\n };\n};\n\nexport type SortOption =\n | 'newest'\n | 'oldest'\n | 'alphabeticalAsc'\n | 'alphabeticalDesc';\n\nconst sortConversations = (\n messages: ConversationList,\n sortOption: SortOption,\n): ConversationList => {\n return [...messages].sort((a, b) => {\n const aTopicSummary = a.topic_summary || '';\n const bTopicSummary = b.topic_summary || '';\n switch (sortOption) {\n case 'oldest':\n return a.last_message_timestamp - b.last_message_timestamp;\n case 'alphabeticalAsc':\n return aTopicSummary.localeCompare(bTopicSummary, undefined, {\n sensitivity: 'base',\n });\n case 'alphabeticalDesc':\n return bTopicSummary.localeCompare(aTopicSummary, undefined, {\n sensitivity: 'base',\n });\n case 'newest':\n default:\n return b.last_message_timestamp - a.last_message_timestamp;\n }\n });\n};\n\nexport const getCategorizeMessages = (\n messages: ConversationList,\n pinnedChats: string[],\n addProps: (c: ConversationSummary) => { [k: string]: any },\n t?: (key: string, params?: any) => string,\n sortOption: SortOption = 'newest',\n): { [k: string]: Conversation[] } => {\n const pinnedChatsKey = t?.('conversation.category.pinnedChats') || 'Pinned';\n const recentKey = t?.('conversation.category.recent') || 'Recent';\n const categorizedMessages: { [k: string]: Conversation[] } = {\n [pinnedChatsKey]: [],\n [recentKey]: [],\n };\n const sortedMessages = sortConversations(messages, sortOption);\n sortedMessages.forEach(c => {\n const message: Conversation = {\n id: c.conversation_id,\n text: c.topic_summary ?? '',\n icon: c.topic_summary ? undefined : <Spinner size=\"sm\" />,\n label: t?.('message.options.label') || 'Options',\n additionalProps: {\n 'aria-label': t?.('aria.options.label') || 'Options',\n },\n ...addProps(c),\n };\n\n if (pinnedChats.includes(c.conversation_id)) {\n categorizedMessages[pinnedChatsKey].push({\n ...message,\n icon: (\n <PushPinIcon\n sx={{\n width: '1rem',\n height: '1rem',\n display: 'flex',\n alignItems: 'center',\n }}\n />\n ),\n });\n } else {\n categorizedMessages[recentKey].push(message);\n }\n });\n\n const filteredCategories = Object.keys(categorizedMessages).reduce(\n (result, category) => {\n result[category] = categorizedMessages[category];\n return result;\n },\n {} as any,\n );\n\n return filteredCategories;\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lightspeed-chatbox-utils.esm.js","sources":["../../src/utils/lightspeed-chatbox-utils.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport PushPinIcon from '@mui/icons-material/PushPin';\nimport { Conversation, SourcesCardProps } from '@patternfly/chatbot';\nimport { Spinner } from '@patternfly/react-core';\n\nimport {\n BaseMessage,\n ConversationList,\n ConversationSummary,\n LCSConversation,\n ReferencedDocument,\n ReferencedDocuments,\n ToolCall,\n} from '../types';\n\nexport const getFootnoteProps = (\n t?: (key: string, params?: any) => string,\n) => ({\n label:\n t?.('footer.accuracy.label') ||\n 'Always review AI generated content prior to use.',\n});\n\nexport const getTimestampVariablesString = (v: number) => {\n if (v < 10) {\n return `0${v}`;\n }\n return `${v}`;\n};\n\nconst isBlankLine = (line: string) => !line.trim();\n\n/** Ordered list item at line start (CommonMark), ignoring leading spaces. */\nconst isOrderedListLine = (line: string) => /^\\s*\\d+\\.\\s/.test(line);\n\n/** ASCII bullets; also U+2022 (•) — not a CommonMark marker, but users paste it as a list. */\nconst isBulletListLine = (line: string) =>\n /^\\s*[-*+]\\s/.test(line) || /^\\s*\\u2022(?:\\s+|\\S|$)/u.test(line);\n\nconst escapeBulletListMarker = (line: string) => {\n if (/^\\s*\\u2022/u.test(line)) {\n return line;\n }\n return line.replace(/^(\\s*)([*+-])(\\s)/, '$1\\\\$2$3');\n};\n\nconst escapeOrderedListMarker = (line: string) =>\n line.replace(/^(\\s*)(\\d+)\\.(\\s)/, '$1$2\\\\.$3');\n\n/**\n * When intro lines (no blank lines among them) are followed by a contiguous run of\n * list lines, join intro + list into one Markdown paragraph using hard breaks and\n * per-line escaping so the block does not split awkwardly in the chat UI.\n */\nconst foldListWithIntro = (\n s: string,\n isListItemLine: (line: string) => boolean,\n escapeListLine: (line: string) => string,\n): string => {\n const lines = s.split('\\n');\n let firstListIdx = -1;\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n if (line !== undefined && isListItemLine(line)) {\n firstListIdx = i;\n break;\n }\n }\n if (firstListIdx < 0) {\n return s;\n }\n\n const intro = lines.slice(0, firstListIdx);\n if (intro.some(isBlankLine)) {\n return s;\n }\n\n const rest = lines.slice(firstListIdx);\n const restItems = rest.filter(l => !isBlankLine(l));\n if (restItems.length === 0 || !restItems.every(isListItemLine)) {\n return s;\n }\n\n const escaped = restItems.map(escapeListLine);\n if (intro.length === 0) {\n return escaped.join(' \\n');\n }\n return `${intro.join(' \\n')} \\n${escaped.join(' \\n')}`;\n};\n\n/**\n * Paragraph + ordered list (even with a single newline) parses as two blocks; merge\n * intro + contiguous numbered lines into one paragraph using hard breaks (two spaces\n * + newline) and escaped `1.` markers so Markdown stays a single block.\n */\nconst foldOrderedListWithIntro = (s: string) =>\n foldListWithIntro(s, isOrderedListLine, escapeOrderedListMarker);\n\n/** Same idea as ordered lists for intro + bullet lines. */\nconst foldBulletListWithIntro = (s: string) =>\n foldListWithIntro(s, isBulletListLine, escapeBulletListMarker);\n\n/**\n * Trims user chat input and reduces blank lines that split Markdown blocks\n * (e.g. paragraph + blank line + ordered list) so PatternFly renders one user bubble.\n */\nexport const normalizeChatUserInput = (input: string): string => {\n let s = input.replace(/\\r\\n/g, '\\n').trim();\n if (!s) {\n return s;\n }\n s = s.replace(/\\n{3,}/g, '\\n\\n');\n s = s.replace(/\\n\\n(?=\\s*\\d+\\.\\s)/gm, '\\n');\n s = s.replace(/\\n\\n(?=\\s*[-*+]\\s)/gm, '\\n');\n s = s.replace(/\\n\\n(?=\\s*\\u2022)/gm, '\\n');\n s = foldOrderedListWithIntro(s);\n s = foldBulletListWithIntro(s);\n return s.trim();\n};\n\nexport const getTimestamp = (unix_timestamp: number) => {\n if (typeof unix_timestamp !== 'number' || Number.isNaN(unix_timestamp)) {\n // eslint-disable-next-line no-console\n console.error('Invalid Unix timestamp provided');\n return '';\n }\n\n const a = new Date(unix_timestamp);\n const month = getTimestampVariablesString(a.getMonth() + 1);\n const year = a.getFullYear();\n const date = getTimestampVariablesString(a.getDate());\n const hour = getTimestampVariablesString(a.getHours());\n const min = getTimestampVariablesString(a.getMinutes());\n const sec = getTimestampVariablesString(a.getSeconds());\n const time = `${date}/${month}/${year}, ${hour}:${min}:${sec}`;\n return time;\n};\n\nexport const splitJsonStrings = (jsonString: string): string[] => {\n const chunks = jsonString.split('}{');\n\n if (chunks.length <= 1) {\n return [jsonString];\n }\n\n return chunks.map((chunk, index, arr) => {\n if (index === 0) {\n return `${chunk}}`;\n } else if (index === arr.length - 1) {\n return `{${chunk}`;\n }\n return `{${chunk}}`;\n });\n};\n\ntype MessageProps = {\n content: string;\n timestamp: string;\n name?: string;\n avatar?: string | any;\n isLoading?: boolean;\n error?: {\n title: string;\n };\n sources?: SourcesCardProps;\n toolCalls?: ToolCall[];\n};\n\nexport const createMessage = ({\n role,\n name,\n avatar,\n isLoading = false,\n content,\n timestamp,\n error,\n sources,\n toolCalls,\n defaultUserName = 'Guest',\n}: MessageProps & { role: 'user' | 'bot'; defaultUserName?: string }) => ({\n role,\n name: name || defaultUserName,\n avatar,\n isLoading,\n content,\n timestamp,\n error,\n sources,\n toolCalls,\n});\n\nexport const createUserMessage = (\n props: MessageProps & { defaultUserName?: string },\n) =>\n createMessage({\n ...props,\n role: 'user',\n defaultUserName: props.defaultUserName,\n });\n\nexport const createBotMessage = (props: MessageProps) =>\n createMessage({\n ...props,\n role: 'bot',\n });\n\nexport const getConversationsData = (\n conversation: LCSConversation,\n): [BaseMessage, BaseMessage] => {\n const [userMessage, botMessage] = conversation.messages || [];\n return [\n {\n ...userMessage,\n timestamp: getTimestamp(\n conversation.started_at\n ? new Date(conversation.started_at).getTime()\n : Date.now(),\n ),\n },\n {\n ...botMessage,\n timestamp: getTimestamp(\n conversation.completed_at\n ? new Date(conversation.completed_at).getTime()\n : Date.now(),\n ),\n referenced_documents: botMessage?.referenced_documents ?? [],\n },\n ];\n};\n\nexport const transformDocumentsToSources = (\n referenced_documents: ReferencedDocuments,\n): SourcesCardProps | undefined => {\n if (!referenced_documents || referenced_documents?.length === 0) {\n return undefined;\n }\n return {\n sources: referenced_documents.map((doc: ReferencedDocument) => ({\n body: doc.doc_description,\n title: doc.doc_title,\n link: doc?.doc_url,\n isExternal: !!doc?.doc_url,\n })),\n };\n};\n\nexport type SortOption =\n | 'newest'\n | 'oldest'\n | 'alphabeticalAsc'\n | 'alphabeticalDesc';\n\nconst sortConversations = (\n messages: ConversationList,\n sortOption: SortOption,\n): ConversationList => {\n return [...messages].sort((a, b) => {\n const aTopicSummary = a.topic_summary || '';\n const bTopicSummary = b.topic_summary || '';\n switch (sortOption) {\n case 'oldest':\n return a.last_message_timestamp - b.last_message_timestamp;\n case 'alphabeticalAsc':\n return aTopicSummary.localeCompare(bTopicSummary, undefined, {\n sensitivity: 'base',\n });\n case 'alphabeticalDesc':\n return bTopicSummary.localeCompare(aTopicSummary, undefined, {\n sensitivity: 'base',\n });\n case 'newest':\n default:\n return b.last_message_timestamp - a.last_message_timestamp;\n }\n });\n};\n\nexport const getCategorizeMessages = (\n messages: ConversationList,\n pinnedChats: string[],\n addProps: (c: ConversationSummary) => { [k: string]: any },\n t?: (key: string, params?: any) => string,\n sortOption: SortOption = 'newest',\n): { [k: string]: Conversation[] } => {\n const pinnedChatsKey =\n t?.('conversation.category.pinnedChats') || 'Pinned chats';\n const recentKey = t?.('conversation.category.recent') || 'Chats';\n const categorizedMessages: { [k: string]: Conversation[] } = {\n [pinnedChatsKey]: [],\n [recentKey]: [],\n };\n const sortedMessages = sortConversations(messages, sortOption);\n sortedMessages.forEach(c => {\n const message: Conversation = {\n id: c.conversation_id,\n text: c.topic_summary ?? '',\n icon: c.topic_summary ? undefined : <Spinner size=\"sm\" />,\n label: t?.('message.options.label') || 'Options',\n additionalProps: {\n 'aria-label': t?.('aria.options.label') || 'Options',\n },\n ...addProps(c),\n };\n\n if (pinnedChats.includes(c.conversation_id)) {\n categorizedMessages[pinnedChatsKey].push({\n ...message,\n icon: (\n <PushPinIcon\n sx={{\n width: '1rem',\n height: '1rem',\n display: 'flex',\n alignItems: 'center',\n }}\n />\n ),\n });\n } else {\n categorizedMessages[recentKey].push(message);\n }\n });\n\n const filteredCategories = Object.keys(categorizedMessages).reduce(\n (result, category) => {\n result[category] = categorizedMessages[category];\n return result;\n },\n {} as any,\n );\n\n return filteredCategories;\n};\n"],"names":[],"mappings":";;;;AA6BO,MAAM,gBAAA,GAAmB,CAC9B,CAAA,MACI;AAAA,EACJ,KAAA,EACE,CAAA,GAAI,uBAAuB,CAAA,IAC3B;AACJ,CAAA;AAEO,MAAM,2BAAA,GAA8B,CAAC,CAAA,KAAc;AACxD,EAAA,IAAI,IAAI,EAAA,EAAI;AACV,IAAA,OAAO,IAAI,CAAC,CAAA,CAAA;AAAA,EACd;AACA,EAAA,OAAO,GAAG,CAAC,CAAA,CAAA;AACb;AAEA,MAAM,WAAA,GAAc,CAAC,IAAA,KAAiB,CAAC,KAAK,IAAA,EAAK;AAGjD,MAAM,iBAAA,GAAoB,CAAC,IAAA,KAAiB,aAAA,CAAc,KAAK,IAAI,CAAA;AAGnE,MAAM,gBAAA,GAAmB,CAAC,IAAA,KACxB,aAAA,CAAc,KAAK,IAAI,CAAA,IAAK,yBAAA,CAA0B,IAAA,CAAK,IAAI,CAAA;AAEjE,MAAM,sBAAA,GAAyB,CAAC,IAAA,KAAiB;AAC/C,EAAA,IAAI,aAAA,CAAc,IAAA,CAAK,IAAI,CAAA,EAAG;AAC5B,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,OAAO,IAAA,CAAK,OAAA,CAAQ,mBAAA,EAAqB,UAAU,CAAA;AACrD,CAAA;AAEA,MAAM,0BAA0B,CAAC,IAAA,KAC/B,IAAA,CAAK,OAAA,CAAQ,qBAAqB,WAAW,CAAA;AAO/C,MAAM,iBAAA,GAAoB,CACxB,CAAA,EACA,cAAA,EACA,cAAA,KACW;AACX,EAAA,MAAM,KAAA,GAAQ,CAAA,CAAE,KAAA,CAAM,IAAI,CAAA;AAC1B,EAAA,IAAI,YAAA,GAAe,EAAA;AACnB,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,KAAA,CAAM,QAAQ,CAAA,EAAA,EAAK;AACrC,IAAA,MAAM,IAAA,GAAO,MAAM,CAAC,CAAA;AACpB,IAAA,IAAI,IAAA,KAAS,MAAA,IAAa,cAAA,CAAe,IAAI,CAAA,EAAG;AAC9C,MAAA,YAAA,GAAe,CAAA;AACf,MAAA;AAAA,IACF;AAAA,EACF;AACA,EAAA,IAAI,eAAe,CAAA,EAAG;AACpB,IAAA,OAAO,CAAA;AAAA,EACT;AAEA,EAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,YAAY,CAAA;AACzC,EAAA,IAAI,KAAA,CAAM,IAAA,CAAK,WAAW,CAAA,EAAG;AAC3B,IAAA,OAAO,CAAA;AAAA,EACT;AAEA,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,KAAA,CAAM,YAAY,CAAA;AACrC,EAAA,MAAM,YAAY,IAAA,CAAK,MAAA,CAAO,OAAK,CAAC,WAAA,CAAY,CAAC,CAAC,CAAA;AAClD,EAAA,IAAI,UAAU,MAAA,KAAW,CAAA,IAAK,CAAC,SAAA,CAAU,KAAA,CAAM,cAAc,CAAA,EAAG;AAC9D,IAAA,OAAO,CAAA;AAAA,EACT;AAEA,EAAA,MAAM,OAAA,GAAU,SAAA,CAAU,GAAA,CAAI,cAAc,CAAA;AAC5C,EAAA,IAAI,KAAA,CAAM,WAAW,CAAA,EAAG;AACtB,IAAA,OAAO,OAAA,CAAQ,KAAK,MAAM,CAAA;AAAA,EAC5B;AACA,EAAA,OAAO,CAAA,EAAG,KAAA,CAAM,IAAA,CAAK,MAAM,CAAC,CAAA;AAAA,EAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA,CAAA;AACzD,CAAA;AAOA,MAAM,2BAA2B,CAAC,CAAA,KAChC,iBAAA,CAAkB,CAAA,EAAG,mBAAmB,uBAAuB,CAAA;AAGjE,MAAM,0BAA0B,CAAC,CAAA,KAC/B,iBAAA,CAAkB,CAAA,EAAG,kBAAkB,sBAAsB,CAAA;AAMxD,MAAM,sBAAA,GAAyB,CAAC,KAAA,KAA0B;AAC/D,EAAA,IAAI,IAAI,KAAA,CAAM,OAAA,CAAQ,OAAA,EAAS,IAAI,EAAE,IAAA,EAAK;AAC1C,EAAA,IAAI,CAAC,CAAA,EAAG;AACN,IAAA,OAAO,CAAA;AAAA,EACT;AACA,EAAA,CAAA,GAAI,CAAA,CAAE,OAAA,CAAQ,SAAA,EAAW,MAAM,CAAA;AAC/B,EAAA,CAAA,GAAI,CAAA,CAAE,OAAA,CAAQ,sBAAA,EAAwB,IAAI,CAAA;AAC1C,EAAA,CAAA,GAAI,CAAA,CAAE,OAAA,CAAQ,sBAAA,EAAwB,IAAI,CAAA;AAC1C,EAAA,CAAA,GAAI,CAAA,CAAE,OAAA,CAAQ,qBAAA,EAAuB,IAAI,CAAA;AACzC,EAAA,CAAA,GAAI,yBAAyB,CAAC,CAAA;AAC9B,EAAA,CAAA,GAAI,wBAAwB,CAAC,CAAA;AAC7B,EAAA,OAAO,EAAE,IAAA,EAAK;AAChB;AAEO,MAAM,YAAA,GAAe,CAAC,cAAA,KAA2B;AACtD,EAAA,IAAI,OAAO,cAAA,KAAmB,QAAA,IAAY,MAAA,CAAO,KAAA,CAAM,cAAc,CAAA,EAAG;AAEtE,IAAA,OAAA,CAAQ,MAAM,iCAAiC,CAAA;AAC/C,IAAA,OAAO,EAAA;AAAA,EACT;AAEA,EAAA,MAAM,CAAA,GAAI,IAAI,IAAA,CAAK,cAAc,CAAA;AACjC,EAAA,MAAM,KAAA,GAAQ,2BAAA,CAA4B,CAAA,CAAE,QAAA,KAAa,CAAC,CAAA;AAC1D,EAAA,MAAM,IAAA,GAAO,EAAE,WAAA,EAAY;AAC3B,EAAA,MAAM,IAAA,GAAO,2BAAA,CAA4B,CAAA,CAAE,OAAA,EAAS,CAAA;AACpD,EAAA,MAAM,IAAA,GAAO,2BAAA,CAA4B,CAAA,CAAE,QAAA,EAAU,CAAA;AACrD,EAAA,MAAM,GAAA,GAAM,2BAAA,CAA4B,CAAA,CAAE,UAAA,EAAY,CAAA;AACtD,EAAA,MAAM,GAAA,GAAM,2BAAA,CAA4B,CAAA,CAAE,UAAA,EAAY,CAAA;AACtD,EAAA,MAAM,IAAA,GAAO,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,EAAI,IAAI,CAAA,EAAA,EAAK,IAAI,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA;AAC5D,EAAA,OAAO,IAAA;AACT;AAgCO,MAAM,gBAAgB,CAAC;AAAA,EAC5B,IAAA;AAAA,EACA,IAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA,GAAY,KAAA;AAAA,EACZ,OAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,eAAA,GAAkB;AACpB,CAAA,MAA0E;AAAA,EACxE,IAAA;AAAA,EACA,MAAM,IAAA,IAAQ,eAAA;AAAA,EACd,MAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAA;AAEO,MAAM,iBAAA,GAAoB,CAC/B,KAAA,KAEA,aAAA,CAAc;AAAA,EACZ,GAAG,KAAA;AAAA,EACH,IAAA,EAAM,MAAA;AAAA,EACN,iBAAiB,KAAA,CAAM;AACzB,CAAC;AAEI,MAAM,gBAAA,GAAmB,CAAC,KAAA,KAC/B,aAAA,CAAc;AAAA,EACZ,GAAG,KAAA;AAAA,EACH,IAAA,EAAM;AACR,CAAC;AAEI,MAAM,oBAAA,GAAuB,CAClC,YAAA,KAC+B;AAC/B,EAAA,MAAM,CAAC,WAAA,EAAa,UAAU,CAAA,GAAI,YAAA,CAAa,YAAY,EAAC;AAC5D,EAAA,OAAO;AAAA,IACL;AAAA,MACE,GAAG,WAAA;AAAA,MACH,SAAA,EAAW,YAAA;AAAA,QACT,YAAA,CAAa,UAAA,GACT,IAAI,IAAA,CAAK,YAAA,CAAa,UAAU,CAAA,CAAE,OAAA,EAAQ,GAC1C,IAAA,CAAK,GAAA;AAAI;AACf,KACF;AAAA,IACA;AAAA,MACE,GAAG,UAAA;AAAA,MACH,SAAA,EAAW,YAAA;AAAA,QACT,YAAA,CAAa,YAAA,GACT,IAAI,IAAA,CAAK,YAAA,CAAa,YAAY,CAAA,CAAE,OAAA,EAAQ,GAC5C,IAAA,CAAK,GAAA;AAAI,OACf;AAAA,MACA,oBAAA,EAAsB,UAAA,EAAY,oBAAA,IAAwB;AAAC;AAC7D,GACF;AACF;AAEO,MAAM,2BAAA,GAA8B,CACzC,oBAAA,KACiC;AACjC,EAAA,IAAI,CAAC,oBAAA,IAAwB,oBAAA,EAAsB,MAAA,KAAW,CAAA,EAAG;AAC/D,IAAA,OAAO,MAAA;AAAA,EACT;AACA,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,oBAAA,CAAqB,GAAA,CAAI,CAAC,GAAA,MAA6B;AAAA,MAC9D,MAAM,GAAA,CAAI,eAAA;AAAA,MACV,OAAO,GAAA,CAAI,SAAA;AAAA,MACX,MAAM,GAAA,EAAK,OAAA;AAAA,MACX,UAAA,EAAY,CAAC,CAAC,GAAA,EAAK;AAAA,KACrB,CAAE;AAAA,GACJ;AACF;AAQA,MAAM,iBAAA,GAAoB,CACxB,QAAA,EACA,UAAA,KACqB;AACrB,EAAA,OAAO,CAAC,GAAG,QAAQ,EAAE,IAAA,CAAK,CAAC,GAAG,CAAA,KAAM;AAClC,IAAA,MAAM,aAAA,GAAgB,EAAE,aAAA,IAAiB,EAAA;AACzC,IAAA,MAAM,aAAA,GAAgB,EAAE,aAAA,IAAiB,EAAA;AACzC,IAAA,QAAQ,UAAA;AAAY,MAClB,KAAK,QAAA;AACH,QAAA,OAAO,CAAA,CAAE,yBAAyB,CAAA,CAAE,sBAAA;AAAA,MACtC,KAAK,iBAAA;AACH,QAAA,OAAO,aAAA,CAAc,aAAA,CAAc,aAAA,EAAe,MAAA,EAAW;AAAA,UAC3D,WAAA,EAAa;AAAA,SACd,CAAA;AAAA,MACH,KAAK,kBAAA;AACH,QAAA,OAAO,aAAA,CAAc,aAAA,CAAc,aAAA,EAAe,MAAA,EAAW;AAAA,UAC3D,WAAA,EAAa;AAAA,SACd,CAAA;AAAA,MACH,KAAK,QAAA;AAAA,MACL;AACE,QAAA,OAAO,CAAA,CAAE,yBAAyB,CAAA,CAAE,sBAAA;AAAA;AACxC,EACF,CAAC,CAAA;AACH,CAAA;AAEO,MAAM,wBAAwB,CACnC,QAAA,EACA,aACA,QAAA,EACA,CAAA,EACA,aAAyB,QAAA,KACW;AACpC,EAAA,MAAM,cAAA,GACJ,CAAA,GAAI,mCAAmC,CAAA,IAAK,cAAA;AAC9C,EAAA,MAAM,SAAA,GAAY,CAAA,GAAI,8BAA8B,CAAA,IAAK,OAAA;AACzD,EAAA,MAAM,mBAAA,GAAuD;AAAA,IAC3D,CAAC,cAAc,GAAG,EAAC;AAAA,IACnB,CAAC,SAAS,GAAG;AAAC,GAChB;AACA,EAAA,MAAM,cAAA,GAAiB,iBAAA,CAAkB,QAAA,EAAU,UAAU,CAAA;AAC7D,EAAA,cAAA,CAAe,QAAQ,CAAA,CAAA,KAAK;AAC1B,IAAA,MAAM,OAAA,GAAwB;AAAA,MAC5B,IAAI,CAAA,CAAE,eAAA;AAAA,MACN,IAAA,EAAM,EAAE,aAAA,IAAiB,EAAA;AAAA,MACzB,MAAM,CAAA,CAAE,aAAA,GAAgB,yBAAY,GAAA,CAAC,OAAA,EAAA,EAAQ,MAAK,IAAA,EAAK,CAAA;AAAA,MACvD,KAAA,EAAO,CAAA,GAAI,uBAAuB,CAAA,IAAK,SAAA;AAAA,MACvC,eAAA,EAAiB;AAAA,QACf,YAAA,EAAc,CAAA,GAAI,oBAAoB,CAAA,IAAK;AAAA,OAC7C;AAAA,MACA,GAAG,SAAS,CAAC;AAAA,KACf;AAEA,IAAA,IAAI,WAAA,CAAY,QAAA,CAAS,CAAA,CAAE,eAAe,CAAA,EAAG;AAC3C,MAAA,mBAAA,CAAoB,cAAc,EAAE,IAAA,CAAK;AAAA,QACvC,GAAG,OAAA;AAAA,QACH,IAAA,kBACE,GAAA;AAAA,UAAC,WAAA;AAAA,UAAA;AAAA,YACC,EAAA,EAAI;AAAA,cACF,KAAA,EAAO,MAAA;AAAA,cACP,MAAA,EAAQ,MAAA;AAAA,cACR,OAAA,EAAS,MAAA;AAAA,cACT,UAAA,EAAY;AAAA;AACd;AAAA;AACF,OAEH,CAAA;AAAA,IACH,CAAA,MAAO;AACL,MAAA,mBAAA,CAAoB,SAAS,CAAA,CAAE,IAAA,CAAK,OAAO,CAAA;AAAA,IAC7C;AAAA,EACF,CAAC,CAAA;AAED,EAAA,MAAM,kBAAA,GAAqB,MAAA,CAAO,IAAA,CAAK,mBAAmB,CAAA,CAAE,MAAA;AAAA,IAC1D,CAAC,QAAQ,QAAA,KAAa;AACpB,MAAA,MAAA,CAAO,QAAQ,CAAA,GAAI,mBAAA,CAAoB,QAAQ,CAAA;AAC/C,MAAA,OAAO,MAAA;AAAA,IACT,CAAA;AAAA,IACA;AAAC,GACH;AAEA,EAAA,OAAO,kBAAA;AACT;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@red-hat-developer-hub/backstage-plugin-lightspeed",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.3",
|
|
4
4
|
"main": "./dist/index.esm.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"@patternfly/react-icons": "^6.3.1",
|
|
87
87
|
"@patternfly/react-table": "^6.4.1",
|
|
88
88
|
"@red-hat-developer-hub/backstage-plugin-app-react": "^0.0.5",
|
|
89
|
-
"@red-hat-developer-hub/backstage-plugin-lightspeed-common": "^2.8.
|
|
89
|
+
"@red-hat-developer-hub/backstage-plugin-lightspeed-common": "^2.8.3",
|
|
90
90
|
"@red-hat-developer-hub/backstage-plugin-theme": "^0.12.0",
|
|
91
91
|
"@tanstack/react-query": "^5.59.15",
|
|
92
92
|
"monaco-editor": "^0.55.0",
|