From 890eab24dd88a905e290188ea20303bd1e8c473e Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 7 Nov 2024 12:14:39 -0500 Subject: [PATCH] Finish renaming "Code Assistance" to "Notebook Assistance" --- FrontEnd/TextResources/ChatbookStrings.tr | 10 +- .../ChineseSimplified/ChatbookStrings.tr | 10 +- .../ChineseTraditional/ChatbookStrings.tr | 10 +- .../TextResources/French/ChatbookStrings.tr | 10 +- .../TextResources/Japanese/ChatbookStrings.tr | 10 +- .../TextResources/Korean/ChatbookStrings.tr | 10 +- .../TextResources/Spanish/ChatbookStrings.tr | 10 +- Source/Chatbook/ChatModes/ChatModes.wl | 4 +- Source/Chatbook/ChatModes/Common.wl | 2 +- ...s.wl => NotebookAssistanceInstructions.wl} | 50 ++--- ...ssistance.wl => ShowNotebookAssistance.wl} | 201 +++++++++--------- Source/Chatbook/ChatModes/UI.wl | 2 +- Source/Chatbook/ChatbookFiles.wl | 30 +++ Source/Chatbook/Common.wl | 1 + Source/Chatbook/CommonSymbols.wl | 3 +- Source/Chatbook/Main.wl | 10 +- Source/Chatbook/Prompting.wl | 100 ++++----- Source/Startup/End/EndStartup.wl | 8 +- 18 files changed, 258 insertions(+), 223 deletions(-) rename Source/Chatbook/ChatModes/{CodeAssistanceInstructions.wl => NotebookAssistanceInstructions.wl} (52%) rename Source/Chatbook/ChatModes/{ShowCodeAssistance.wl => ShowNotebookAssistance.wl} (75%) diff --git a/FrontEnd/TextResources/ChatbookStrings.tr b/FrontEnd/TextResources/ChatbookStrings.tr index 156c7c9b..343d963a 100644 --- a/FrontEnd/TextResources/ChatbookStrings.tr +++ b/FrontEnd/TextResources/ChatbookStrings.tr @@ -195,8 +195,8 @@ "AttachedChatFieldHint" -> "Ask me anything", -"MenuItemShowCodeAssistanceWindow" -> "Notebook Assistant Chat\[Ellipsis]", -"MenuItemShowCodeAssistanceInline" -> "Notebook Assistant for Selection", +"MenuItemShowNotebookAssistanceWindow" -> "Notebook Assistant Chat\[Ellipsis]", +"MenuItemShowNotebookAssistanceInline" -> "Notebook Assistant for Selection", "MenuItemShowContentSuggestions" -> "AI Content Suggestion", "WorkspaceWindowTitle" -> "Notebook Assistant", @@ -208,10 +208,10 @@ "WorkspaceSourcesOpenNotebooks" -> "Open Notebooks", "InlineChatButtonTooltipClose" -> "Close", -"InlineChatButtonTooltipViewCodeAssist" -> "View in Code Assistance Chat", +"InlineChatButtonTooltipViewNotebookAssist" -> "View in Notebook Assistance Chat", -"CodeAssistanceInputGettingStarted" -> "Help me get started", -"CodeAssistanceInputErrorMessage" -> "What went wrong?" +"NotebookAssistanceInputGettingStarted" -> "Help me get started", +"NotebookAssistanceInputErrorMessage" -> "What went wrong?" } @| @| diff --git a/FrontEnd/TextResources/ChineseSimplified/ChatbookStrings.tr b/FrontEnd/TextResources/ChineseSimplified/ChatbookStrings.tr index 2aff1b9a..b408d095 100644 --- a/FrontEnd/TextResources/ChineseSimplified/ChatbookStrings.tr +++ b/FrontEnd/TextResources/ChineseSimplified/ChatbookStrings.tr @@ -195,8 +195,8 @@ "AttachedChatFieldHint" -> "\:6709\:95EE\:5FC5\:7B54", -"MenuItemShowCodeAssistanceWindow" -> "Notebook Assistant Chat\[Ellipsis]", -"MenuItemShowCodeAssistanceInline" -> "Notebook Assistant for Selection", +"MenuItemShowNotebookAssistanceWindow" -> "Notebook Assistant Chat\[Ellipsis]", +"MenuItemShowNotebookAssistanceInline" -> "Notebook Assistant for Selection", "MenuItemShowContentSuggestions" -> "AI \:5185\:5BB9\:5EFA\:8BAE", "WorkspaceWindowTitle" -> "Notebook Assistant", @@ -208,10 +208,10 @@ "WorkspaceSourcesOpenNotebooks" -> "Open Notebooks", "InlineChatButtonTooltipClose" -> "Close", -"InlineChatButtonTooltipViewCodeAssist" -> "View in Code Assistance Chat", +"InlineChatButtonTooltipViewNotebookAssist" -> "View in Notebook Assistance Chat", -"CodeAssistanceInputGettingStarted" -> "\:5E2E\:52A9\:6211\:5F00\:59CB\:4F7F\:7528", -"CodeAssistanceInputErrorMessage" -> "\:51FA\:4EC0\:4E48\:95EE\:9898\:4E86\:ff1f" +"NotebookAssistanceInputGettingStarted" -> "\:5E2E\:52A9\:6211\:5F00\:59CB\:4F7F\:7528", +"NotebookAssistanceInputErrorMessage" -> "\:51FA\:4EC0\:4E48\:95EE\:9898\:4E86\:ff1f" } @| @| diff --git a/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr b/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr index 8054d7a0..8dcc4885 100644 --- a/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr +++ b/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr @@ -195,8 +195,8 @@ "AttachedChatFieldHint" -> "\:6B61\:8FCE\:8A62\:554F\:4EFB\:4F55\:4E8B\:60C5", -"MenuItemShowCodeAssistanceWindow" -> "Notebook Assistant Chat\[Ellipsis]", -"MenuItemShowCodeAssistanceInline" -> "Notebook Assistant for Selection", +"MenuItemShowNotebookAssistanceWindow" -> "Notebook Assistant Chat\[Ellipsis]", +"MenuItemShowNotebookAssistanceInline" -> "Notebook Assistant for Selection", "MenuItemShowContentSuggestions" -> "AI \:5167\:5BB9\:5EFA\:8B70", "WorkspaceWindowTitle" -> "Notebook Assistant", @@ -208,10 +208,10 @@ "WorkspaceSourcesOpenNotebooks" -> "Open Notebooks", "InlineChatButtonTooltipClose" -> "Close", -"InlineChatButtonTooltipViewCodeAssist" -> "View in Code Assistance Chat", +"InlineChatButtonTooltipViewNotebookAssist" -> "View in Notebook Assistance Chat", -"CodeAssistanceInputGettingStarted" -> "\:6C42\:52A9\:5982\:4F55\:958B\:59CB", -"CodeAssistanceInputErrorMessage" -> "\:54EA\:88E1\:51FA\:4E86\:554F\:984C\:FF1F" +"NotebookAssistanceInputGettingStarted" -> "\:6C42\:52A9\:5982\:4F55\:958B\:59CB", +"NotebookAssistanceInputErrorMessage" -> "\:54EA\:88E1\:51FA\:4E86\:554F\:984C\:FF1F" } @| @| diff --git a/FrontEnd/TextResources/French/ChatbookStrings.tr b/FrontEnd/TextResources/French/ChatbookStrings.tr index c3ce47cc..b075de9a 100644 --- a/FrontEnd/TextResources/French/ChatbookStrings.tr +++ b/FrontEnd/TextResources/French/ChatbookStrings.tr @@ -195,8 +195,8 @@ "AttachedChatFieldHint" -> "Demande\[Hyphen]moi quelque chose", -"MenuItemShowCodeAssistanceWindow" -> "Notebook Assistant Chat\[Ellipsis]", -"MenuItemShowCodeAssistanceInline" -> "Notebook Assistant for Selection", +"MenuItemShowNotebookAssistanceWindow" -> "Notebook Assistant Chat\[Ellipsis]", +"MenuItemShowNotebookAssistanceInline" -> "Notebook Assistant for Selection", "MenuItemShowContentSuggestions" -> "Suggestion de contenu par l\[CloseCurlyQuote]IA", "WorkspaceWindowTitle" -> "Notebook Assistant", @@ -208,10 +208,10 @@ "WorkspaceSourcesOpenNotebooks" -> "Open Notebooks", "InlineChatButtonTooltipClose" -> "Close", -"InlineChatButtonTooltipViewCodeAssist" -> "View in Code Assistance Chat", +"InlineChatButtonTooltipViewNotebookAssist" -> "View in Notebook Assistance Chat", -"CodeAssistanceInputGettingStarted" -> "Aide\[Hyphen]moi \[AGrave] d\[EAcute]marrer", -"CodeAssistanceInputErrorMessage" -> "Qu\[CloseCurlyQuote]est\[Hyphen]ce qui n\[CloseCurlyQuote]a pas fonctionn\[EAcute]\[NonBreakingSpace]?" +"NotebookAssistanceInputGettingStarted" -> "Aide\[Hyphen]moi \[AGrave] d\[EAcute]marrer", +"NotebookAssistanceInputErrorMessage" -> "Qu\[CloseCurlyQuote]est\[Hyphen]ce qui n\[CloseCurlyQuote]a pas fonctionn\[EAcute]\[NonBreakingSpace]?" } @| @| diff --git a/FrontEnd/TextResources/Japanese/ChatbookStrings.tr b/FrontEnd/TextResources/Japanese/ChatbookStrings.tr index 7b3f0d48..af8da418 100644 --- a/FrontEnd/TextResources/Japanese/ChatbookStrings.tr +++ b/FrontEnd/TextResources/Japanese/ChatbookStrings.tr @@ -195,8 +195,8 @@ "AttachedChatFieldHint" -> "\:4f55\:3067\:3082\:805e\:3044\:3066\:304f\:3060\:3055\:3044", -"MenuItemShowCodeAssistanceWindow" -> "Notebook Assistant Chat\[Ellipsis]", -"MenuItemShowCodeAssistanceInline" -> "Notebook Assistant for Selection", +"MenuItemShowNotebookAssistanceWindow" -> "Notebook Assistant Chat\[Ellipsis]", +"MenuItemShowNotebookAssistanceInline" -> "Notebook Assistant for Selection", "MenuItemShowContentSuggestions" -> "AI\:306B\:3088\:308B\:30B3\:30F3\:30C6\:30F3\:30C4\:306E\:63D0\:6848", "WorkspaceWindowTitle" -> "Notebook Assistant", @@ -208,10 +208,10 @@ "WorkspaceSourcesOpenNotebooks" -> "Open Notebooks", "InlineChatButtonTooltipClose" -> "Close", -"InlineChatButtonTooltipViewCodeAssist" -> "View in Code Assistance Chat", +"InlineChatButtonTooltipViewNotebookAssist" -> "View in Notebook Assistance Chat", -"CodeAssistanceInputGettingStarted" -> "\:3069\:306E\:3088\:3046\:306B\:59CB\:3081\:307E\:3057\:3087\:3046\:304B\:FF1F", -"CodeAssistanceInputErrorMessage" -> "\:4F55\:304C\:9593\:9055\:3063\:3066\:3044\:307E\:3057\:305F\:304B\:FF1F" +"NotebookAssistanceInputGettingStarted" -> "\:3069\:306E\:3088\:3046\:306B\:59CB\:3081\:307E\:3057\:3087\:3046\:304B\:FF1F", +"NotebookAssistanceInputErrorMessage" -> "\:4F55\:304C\:9593\:9055\:3063\:3066\:3044\:307E\:3057\:305F\:304B\:FF1F" } @| @| diff --git a/FrontEnd/TextResources/Korean/ChatbookStrings.tr b/FrontEnd/TextResources/Korean/ChatbookStrings.tr index 730ce9e0..629577cc 100644 --- a/FrontEnd/TextResources/Korean/ChatbookStrings.tr +++ b/FrontEnd/TextResources/Korean/ChatbookStrings.tr @@ -196,8 +196,8 @@ "AttachedChatFieldHint" -> "\:BB34\:C5C7\:C774\:B4E0 \:BB3C\:C5B4\:BCF4\:C138\:C694", -"MenuItemShowCodeAssistanceWindow" -> "Notebook Assistant Chat\[Ellipsis]", -"MenuItemShowCodeAssistanceInline" -> "Notebook Assistant for Selection", +"MenuItemShowNotebookAssistanceWindow" -> "Notebook Assistant Chat\[Ellipsis]", +"MenuItemShowNotebookAssistanceInline" -> "Notebook Assistant for Selection", "MenuItemShowContentSuggestions" -> "AI\:C5D0 \:C758\:D55C \:CF58\:D150\:CE20 \:C81C\:C548", "WorkspaceWindowTitle" -> "Notebook Assistant", @@ -209,10 +209,10 @@ "WorkspaceSourcesOpenNotebooks" -> "Open Notebooks", "InlineChatButtonTooltipClose" -> "Close", -"InlineChatButtonTooltipViewCodeAssist" -> "View in Code Assistance Chat", +"InlineChatButtonTooltipViewNotebookAssist" -> "View in Notebook Assistance Chat", -"CodeAssistanceInputGettingStarted" -> "\:C2DC\:C791\:C5D0 \:B3C4\:C6C0 \:BC1B\:AE30", -"CodeAssistanceInputErrorMessage" -> "\:BB34\:C5C7\:C774 \:C798\:BABB\:B418\:C5C8\:B098\:C694?" +"NotebookAssistanceInputGettingStarted" -> "\:C2DC\:C791\:C5D0 \:B3C4\:C6C0 \:BC1B\:AE30", +"NotebookAssistanceInputErrorMessage" -> "\:BB34\:C5C7\:C774 \:C798\:BABB\:B418\:C5C8\:B098\:C694?" } @| @| diff --git a/FrontEnd/TextResources/Spanish/ChatbookStrings.tr b/FrontEnd/TextResources/Spanish/ChatbookStrings.tr index 4d9e917b..1a3f8999 100644 --- a/FrontEnd/TextResources/Spanish/ChatbookStrings.tr +++ b/FrontEnd/TextResources/Spanish/ChatbookStrings.tr @@ -195,8 +195,8 @@ "AttachedChatFieldHint" -> "Preg\[UAcute]ntame lo que sea", -"MenuItemShowCodeAssistanceWindow" -> "Notebook Assistant Chat\[Ellipsis]", -"MenuItemShowCodeAssistanceInline" -> "Notebook Assistant for Selection", +"MenuItemShowNotebookAssistanceWindow" -> "Notebook Assistant Chat\[Ellipsis]", +"MenuItemShowNotebookAssistanceInline" -> "Notebook Assistant for Selection", "MenuItemShowContentSuggestions" -> "Sugerencia de contenido de IA", "WorkspaceWindowTitle" -> "Notebook Assistant", @@ -208,10 +208,10 @@ "WorkspaceSourcesOpenNotebooks" -> "Open Notebooks", "InlineChatButtonTooltipClose" -> "Close", -"InlineChatButtonTooltipViewCodeAssist" -> "View in Code Assistance Chat", +"InlineChatButtonTooltipViewNotebookAssist" -> "View in Notebook Assistance Chat", -"CodeAssistanceInputGettingStarted" -> "Ay\[UAcute]dame a comenzar", -"CodeAssistanceInputErrorMessage" -> "\[DownQuestion]Qu\[EAcute] sali\[OAcute] mal?" +"NotebookAssistanceInputGettingStarted" -> "Ay\[UAcute]dame a comenzar", +"NotebookAssistanceInputErrorMessage" -> "\[DownQuestion]Qu\[EAcute] sali\[OAcute] mal?" } @| @| diff --git a/Source/Chatbook/ChatModes/ChatModes.wl b/Source/Chatbook/ChatModes/ChatModes.wl index 2225e605..b96d9ffb 100644 --- a/Source/Chatbook/ChatModes/ChatModes.wl +++ b/Source/Chatbook/ChatModes/ChatModes.wl @@ -34,12 +34,12 @@ $InlineChat = False; (* ::Section::Closed:: *) (*Load Subcontexts*) $subcontexts = { - "Wolfram`Chatbook`ChatModes`CodeAssistanceInstructions`", "Wolfram`Chatbook`ChatModes`Common`", "Wolfram`Chatbook`ChatModes`ContentSuggestions`", "Wolfram`Chatbook`ChatModes`Context`", "Wolfram`Chatbook`ChatModes`Evaluate`", - "Wolfram`Chatbook`ChatModes`ShowCodeAssistance`", + "Wolfram`Chatbook`ChatModes`NotebookAssistanceInstructions`", + "Wolfram`Chatbook`ChatModes`ShowNotebookAssistance`", "Wolfram`Chatbook`ChatModes`UI`" }; diff --git a/Source/Chatbook/ChatModes/Common.wl b/Source/Chatbook/ChatModes/Common.wl index e6ec7f69..4fcec311 100644 --- a/Source/Chatbook/ChatModes/Common.wl +++ b/Source/Chatbook/ChatModes/Common.wl @@ -11,7 +11,7 @@ HoldComplete[ `createWorkspaceChat, `evaluateAttachedInlineChat, `findCurrentWorkspaceChat, - `getCodeAssistanceInput, + `getNotebookAssistanceInput, `getContextFromSelection, `getSelectionInfo, `moveChatInputToBottom, diff --git a/Source/Chatbook/ChatModes/CodeAssistanceInstructions.wl b/Source/Chatbook/ChatModes/NotebookAssistanceInstructions.wl similarity index 52% rename from Source/Chatbook/ChatModes/CodeAssistanceInstructions.wl rename to Source/Chatbook/ChatModes/NotebookAssistanceInstructions.wl index 43c7d5fa..a41cd06c 100644 --- a/Source/Chatbook/ChatModes/CodeAssistanceInstructions.wl +++ b/Source/Chatbook/ChatModes/NotebookAssistanceInstructions.wl @@ -1,6 +1,6 @@ (* ::Section::Closed:: *) (*Package Header*) -BeginPackage[ "Wolfram`Chatbook`ChatModes`CodeAssistanceInstructions`" ]; +BeginPackage[ "Wolfram`Chatbook`ChatModes`NotebookAssistanceInstructions`" ]; Begin[ "`Private`" ]; Needs[ "Wolfram`Chatbook`" ]; @@ -10,65 +10,65 @@ Needs[ "Wolfram`Chatbook`ChatModes`Common`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Configuration*) -$codeAssistanceInputKeys = { "GettingStarted", "ErrorMessage" }; -$$codeAssistanceInputKey = Alternatives @@ $codeAssistanceInputKeys; +$notebookAssistanceInputKeys = { "GettingStarted", "ErrorMessage" }; +$$notebookAssistanceInputKey = Alternatives @@ $notebookAssistanceInputKeys; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) -(*$CodeAssistanceInputs*) -$CodeAssistanceInputs := loadCodeAssistanceInputs[ ]; +(*$NotebookAssistanceInputs*) +$NotebookAssistanceInputs := loadNotebookAssistanceInputs[ ]; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) -(*loadCodeAssistanceInputs*) -loadCodeAssistanceInputs // beginDefinition; +(*loadNotebookAssistanceInputs*) +loadNotebookAssistanceInputs // beginDefinition; -loadCodeAssistanceInputs[ ] := Enclose[ +loadNotebookAssistanceInputs[ ] := Enclose[ Module[ { as }, - as = ConfirmBy[ AssociationMap[ loadCodeAssistanceInput, $codeAssistanceInputKeys ], AssociationQ, "Inputs" ]; + as = ConfirmBy[ AssociationMap[ loadNotebookAssistanceInput, $notebookAssistanceInputKeys ], AssociationQ, "Inputs" ]; WithCleanup[ - Unprotect @ $CodeAssistanceInputs, - $CodeAssistanceInputs = ConfirmBy[ as, AllTrue @ StringQ, "Result" ], - Protect @ $CodeAssistanceInputs + Unprotect @ $NotebookAssistanceInputs, + $NotebookAssistanceInputs = ConfirmBy[ as, AllTrue @ StringQ, "Result" ], + Protect @ $NotebookAssistanceInputs ] ], throwInternalFailure ]; -loadCodeAssistanceInputs // endDefinition; +loadNotebookAssistanceInputs // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) -(*loadCodeAssistanceInput*) -loadCodeAssistanceInput // beginDefinition; +(*loadNotebookAssistanceInput*) +loadNotebookAssistanceInput // beginDefinition; -loadCodeAssistanceInput[ name: $$codeAssistanceInputKey ] := Enclose[ +loadNotebookAssistanceInput[ name: $$notebookAssistanceInputKey ] := Enclose[ usingFrontEnd @ ConfirmBy[ - trRaw[ "CodeAssistanceInput"<>name ], + trRaw[ "NotebookAssistanceInput"<>name ], StringQ, - "LoadCodeAssistanceInput" + "LoadNotebookAssistanceInput" ], throwInternalFailure ]; -loadCodeAssistanceInput // endDefinition; +loadNotebookAssistanceInput // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) -(*getCodeAssistanceInput*) -getCodeAssistanceInput // beginDefinition; +(*getNotebookAssistanceInput*) +getNotebookAssistanceInput // beginDefinition; -getCodeAssistanceInput[ name_String ] := Enclose[ +getNotebookAssistanceInput[ name_String ] := Enclose[ Module[ { inputs, result }, - inputs = ConfirmBy[ $CodeAssistanceInputs, AssociationQ, "Inputs" ]; + inputs = ConfirmBy[ $NotebookAssistanceInputs, AssociationQ, "Inputs" ]; result = ConfirmMatch[ Lookup[ inputs, name ], _Missing | $$string, "Result" ]; - If[ StringQ @ result, needsBasePrompt[ "CodeAssistance"<>name ] ]; + If[ StringQ @ result, needsBasePrompt[ "NotebookAssistance"<>name ] ]; result ], throwInternalFailure ]; -getCodeAssistanceInput // endDefinition; +getNotebookAssistanceInput // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) diff --git a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl b/Source/Chatbook/ChatModes/ShowNotebookAssistance.wl similarity index 75% rename from Source/Chatbook/ChatModes/ShowCodeAssistance.wl rename to Source/Chatbook/ChatModes/ShowNotebookAssistance.wl index 02d8e25c..ecff2ca1 100644 --- a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl +++ b/Source/Chatbook/ChatModes/ShowNotebookAssistance.wl @@ -1,6 +1,6 @@ (* ::Section::Closed:: *) (*Package Header*) -BeginPackage[ "Wolfram`Chatbook`ChatModes`ShowCodeAssistance`" ]; +BeginPackage[ "Wolfram`Chatbook`ChatModes`ShowNotebookAssistance`" ]; Begin[ "`Private`" ]; Needs[ "Wolfram`Chatbook`" ]; @@ -12,18 +12,18 @@ Needs[ "Wolfram`Chatbook`ChatModes`Common`" ]; (*Configuration*) $workspaceChatWidth := $workspaceChatWidth = Switch[ $OperatingSystem, "MacOSX", 450, _, 360 ]; -$codeAssistanceBaseSettings = <| - "AppName" -> "CodeAssistance", +$notebookAssistanceBaseSettings = <| + "AppName" -> "NotebookAssistance", "LLMEvaluator" -> "NotebookAssistant", "PromptGenerators" -> { "RelatedDocumentation" }, - "ServiceCaller" -> "CodeAssistance", + "ServiceCaller" -> "NotebookAssistance", "ToolOptions" -> <| "WolframLanguageEvaluator" -> <| "AppendURIPrompt" -> True, "Method" -> "Session" |> |>, "Tools" -> { "NotebookEditor" }, "ToolSelectionType" -> <| "DocumentationLookup" -> None, "DocumentationSearcher" -> None |> |>; -$codeAssistanceWorkspaceSettings := <| - $codeAssistanceBaseSettings, +$notebookAssistanceWorkspaceSettings := <| + $notebookAssistanceBaseSettings, "AutoGenerateTitle" -> True, "AutoSaveConversations" -> True, "ConversationUUID" -> CreateUUID[ ], @@ -32,8 +32,8 @@ $codeAssistanceWorkspaceSettings := <| "WorkspaceChat" -> True |>; -$codeAssistanceInlineSettings := <| - $codeAssistanceBaseSettings, +$notebookAssistanceInlineSettings := <| + $notebookAssistanceBaseSettings, "AutoGenerateTitle" -> False, "AutoSaveConversations" -> False, "InlineChat" -> True @@ -44,49 +44,49 @@ $workspaceChatNotebookOptions := Sequence[ StyleDefinitions -> FrontEnd`FileName[ { "Wolfram" }, "WorkspaceChat.nb", CharacterEncoding -> "UTF-8" ], TaggingRules -> <| "ChatInputString" -> "", - "ChatNotebookSettings" -> $codeAssistanceWorkspaceSettings, + "ChatNotebookSettings" -> $notebookAssistanceWorkspaceSettings, "ConversationTitle" -> "" |> ]; (* TODO: set $serviceCaller from chat settings *) -$$codeAssistanceMenuItem = "Inline"|"Window"|"ContentSuggestions"; +$$notebookAssistanceMenuItem = "Inline"|"Window"|"ContentSuggestions"; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) -(*EnableCodeAssistance*) -EnableCodeAssistance // beginDefinition; +(*EnableNotebookAssistance*) +EnableNotebookAssistance // beginDefinition; -EnableCodeAssistance[ ] := - catchMine @ EnableCodeAssistance @ Automatic; +EnableNotebookAssistance[ ] := + catchMine @ EnableNotebookAssistance @ Automatic; -EnableCodeAssistance[ Automatic ] := catchMine @ +EnableNotebookAssistance[ Automatic ] := catchMine @ If[ $VersionNumber >= 14.1, - enableCodeAssistance @ { "Window", "ContentSuggestions" }, - enableCodeAssistance @ { "Window" } + enableNotebookAssistance @ { "Window", "ContentSuggestions" }, + enableNotebookAssistance @ { "Window" } ]; -EnableCodeAssistance[ keys: { $$codeAssistanceMenuItem.. } ] := - catchMine @ enableCodeAssistance @ DeleteDuplicates @ keys; +EnableNotebookAssistance[ keys: { $$notebookAssistanceMenuItem.. } ] := + catchMine @ enableNotebookAssistance @ DeleteDuplicates @ keys; -EnableCodeAssistance[ key: $$codeAssistanceMenuItem ] := - catchMine @ enableCodeAssistance @ { key }; +EnableNotebookAssistance[ key: $$notebookAssistanceMenuItem ] := + catchMine @ enableNotebookAssistance @ { key }; -EnableCodeAssistance // endExportedDefinition; +EnableNotebookAssistance // endExportedDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) -(*$codeAssistanceMenuItems*) -$codeAssistanceMenuItems = <| +(*$notebookAssistanceMenuItems*) +$notebookAssistanceMenuItems = <| "Inline" :> FrontEnd`AddMenuCommands[ "OpenHelpLink", { MenuItem[ - FrontEndResource[ "ChatbookStrings", "MenuItemShowCodeAssistanceInline" ], + FrontEndResource[ "ChatbookStrings", "MenuItemShowNotebookAssistanceInline" ], FrontEnd`KernelExecute[ Needs[ "Wolfram`Chatbook`" -> None ]; - Symbol[ "Wolfram`Chatbook`ShowCodeAssistance" ][ "Inline" ] + Symbol[ "Wolfram`Chatbook`ShowNotebookAssistance" ][ "Inline" ] ], FrontEnd`MenuEvaluator -> Automatic, FrontEnd`MenuKey[ "'", FrontEnd`Modifiers -> { "Control", "Shift" } ] @@ -98,10 +98,10 @@ $codeAssistanceMenuItems = <| "OpenHelpLink", { MenuItem[ - FrontEndResource[ "ChatbookStrings", "MenuItemShowCodeAssistanceWindow" ], + FrontEndResource[ "ChatbookStrings", "MenuItemShowNotebookAssistanceWindow" ], FrontEnd`KernelExecute[ Needs[ "Wolfram`Chatbook`" -> None ]; - Symbol[ "Wolfram`Chatbook`ShowCodeAssistance" ][ "Window" ] + Symbol[ "Wolfram`Chatbook`ShowNotebookAssistance" ][ "Window" ] ], FrontEnd`MenuEvaluator -> Automatic, Evaluate[ @@ -138,16 +138,16 @@ $codeAssistanceMenuItems = <| (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) -(*enableCodeAssistance*) -enableCodeAssistance // beginDefinition; -enableCodeAssistance[ k: { $$codeAssistanceMenuItem.. } ] := FrontEndExecute @ Lookup[ $codeAssistanceMenuItems, k ]; -enableCodeAssistance // endDefinition; +(*enableNotebookAssistance*) +enableNotebookAssistance // beginDefinition; +enableNotebookAssistance[ k: { $$notebookAssistanceMenuItem.. } ] := FrontEndExecute @ Lookup[ $notebookAssistanceMenuItems, k ]; +enableNotebookAssistance // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) -(*ShowCodeAssistance*) -ShowCodeAssistance // beginDefinition; -ShowCodeAssistance // Options = { +(*ShowNotebookAssistance*) +ShowNotebookAssistance // beginDefinition; +ShowNotebookAssistance // Options = { "ChatNotebookSettings" -> <| |>, "EvaluateInput" -> False, "ExtraInstructions" -> None, @@ -158,18 +158,18 @@ ShowCodeAssistance // Options = { (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*Messages*) -Chatbook::MissingCodeAssistanceInput = "No code assistance input defined for key `1`."; +Chatbook::MissingNotebookAssistanceInput = "No code assistance input defined for key `1`."; Chatbook::InvalidExtraInstructions = "Expected a string or None instead of `1` for ExtraInstructions."; -GeneralUtilities`SetUsage[ ShowCodeAssistance, "\ -ShowCodeAssistance[] shows code assistance in a new or existing window. -ShowCodeAssistance[\"type$\"] shows code assistance of the specified type for the currently selected notebook. -ShowCodeAssistance[obj$, \"type$\"] shows code assistance of the specified type for the given front end object obj$. +GeneralUtilities`SetUsage[ ShowNotebookAssistance, "\ +ShowNotebookAssistance[] shows code assistance in a new or existing window. +ShowNotebookAssistance[\"type$\"] shows code assistance of the specified type for the currently selected notebook. +ShowNotebookAssistance[obj$, \"type$\"] shows code assistance of the specified type for the given front end object obj$. * The value for \"type$\" can be \"Window\", \"Inline\", or Automatic. * The value for obj$ can be a NotebookObject or a CellObject. * The default value for \"type$\" is \"Window\" when obj$ is a NotebookObject, and \"Inline\" for a CellObject. -* ShowCodeAssistance accepts the following options: +* ShowNotebookAssistance accepts the following options: | EvaluateInput | False | Whether to evaluate the initial chat input | | ExtraInstructions | None | Additional instructions to include in the system prompt for the LLM | | Input | None | The initial chat input string or Key[\"name$\"] to reference a predefined input | @@ -177,7 +177,7 @@ ShowCodeAssistance[obj$, \"type$\"] shows code assistance of the specified type * If EvaluateInput is True, a value must be given for Input or InputName. * Specifying NewChat \[Rule] True will clear the existing code assistance chat (if any). * The setting for NewChat has no effect for Inline code assistance. -* Possible values for \"name$\" in Key[\"name$\"] can be found in Keys[$CodeAssistanceInputs].\ +* Possible values for \"name$\" in Key[\"name$\"] can be found in Keys[$NotebookAssistanceInputs].\ " ]; (* ::**************************************************************************************************************:: *) @@ -185,27 +185,27 @@ ShowCodeAssistance[obj$, \"type$\"] shows code assistance of the specified type (*Defaults*) (* The zero argument form uses "Window" by default: *) -ShowCodeAssistance[ opts: OptionsPattern[ ] ] := - catchMine @ ShowCodeAssistance[ "Window", opts ]; +ShowNotebookAssistance[ opts: OptionsPattern[ ] ] := + catchMine @ ShowNotebookAssistance[ "Window", opts ]; (* Uses "Window" if given a NotebookObject: *) -ShowCodeAssistance[ nbo_NotebookObject, opts: OptionsPattern[ ] ] := - catchMine @ ShowCodeAssistance[ nbo, "Window", opts ]; +ShowNotebookAssistance[ nbo_NotebookObject, opts: OptionsPattern[ ] ] := + catchMine @ ShowNotebookAssistance[ nbo, "Window", opts ]; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*Window*) -ShowCodeAssistance[ "Window", opts: OptionsPattern[ ] ] := - catchMine @ LogChatTiming @ withChatState @ LogChatTiming @ ShowCodeAssistance[ +ShowNotebookAssistance[ "Window", opts: OptionsPattern[ ] ] := + catchMine @ LogChatTiming @ withChatState @ LogChatTiming @ ShowNotebookAssistance[ LogChatTiming @ getUserNotebook[ ], "Window", opts ]; -ShowCodeAssistance[ nbo: _NotebookObject|None, "Window"|Automatic, opts: OptionsPattern[ ] ] := +ShowNotebookAssistance[ nbo: _NotebookObject|None, "Window"|Automatic, opts: OptionsPattern[ ] ] := catchMine @ withChatState @ withExtraInstructions[ OptionValue[ "ExtraInstructions" ], - LogChatTiming @ showCodeAssistanceWindow[ + LogChatTiming @ showNotebookAssistanceWindow[ nbo, LogChatTiming @ validateOptionInput @ OptionValue[ "Input" ], OptionValue[ "EvaluateInput" ], @@ -217,13 +217,13 @@ ShowCodeAssistance[ nbo: _NotebookObject|None, "Window"|Automatic, opts: Options (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*Inline*) -ShowCodeAssistance[ "Inline", opts: OptionsPattern[ ] ] := - catchMine @ withChatState @ LogChatTiming @ ShowCodeAssistance[ InputNotebook[ ], "Inline", opts ]; +ShowNotebookAssistance[ "Inline", opts: OptionsPattern[ ] ] := + catchMine @ withChatState @ LogChatTiming @ ShowNotebookAssistance[ InputNotebook[ ], "Inline", opts ]; -ShowCodeAssistance[ nbo_NotebookObject, "Inline", opts: OptionsPattern[ ] ] := +ShowNotebookAssistance[ nbo_NotebookObject, "Inline", opts: OptionsPattern[ ] ] := catchMine @ withChatState @ withExtraInstructions[ OptionValue[ "ExtraInstructions" ], - showCodeAssistanceInline[ + showNotebookAssistanceInline[ nbo, LogChatTiming @ validateOptionInput @ OptionValue[ "Input" ], OptionValue[ "EvaluateInput" ], @@ -236,26 +236,26 @@ ShowCodeAssistance[ nbo_NotebookObject, "Inline", opts: OptionsPattern[ ] ] := (*From CellObjects*) (* A CellObject uses "Inline" by default: *) -ShowCodeAssistance[ cell_CellObject, opts: OptionsPattern[ ] ] := - catchMine @ ShowCodeAssistance[ cell, "Inline", opts ]; +ShowNotebookAssistance[ cell_CellObject, opts: OptionsPattern[ ] ] := + catchMine @ ShowNotebookAssistance[ cell, "Inline", opts ]; (* If given a CellObject, move selection to the cell, then use "Inline" on the parent notebook: *) -ShowCodeAssistance[ cell0_CellObject, "Inline"|Automatic, opts: OptionsPattern[ ] ] := catchMine @ Enclose[ +ShowNotebookAssistance[ cell0_CellObject, "Inline"|Automatic, opts: OptionsPattern[ ] ] := catchMine @ Enclose[ withChatState @ Module[ { cell, nbo }, (* Use the top-level parent in case cell0 is an attached or inline cell: *) cell = ConfirmMatch[ topParentCell @ cell0, _CellObject, "Cell" ]; nbo = ConfirmMatch[ parentNotebook @ cell, _NotebookObject, "Notebook" ]; SelectionMove[ cell, All, Cell ]; - ShowCodeAssistance[ nbo, "Inline", opts ] + ShowNotebookAssistance[ nbo, "Inline", opts ] ], throwInternalFailure ]; (* If given a CellObject, use "Window" on the parent notebook: *) -ShowCodeAssistance[ cell_CellObject, "Window", opts: OptionsPattern[ ] ] := catchMine @ Enclose[ +ShowNotebookAssistance[ cell_CellObject, "Window", opts: OptionsPattern[ ] ] := catchMine @ Enclose[ withChatState @ Module[ { nbo }, nbo = ConfirmMatch[ parentNotebook @ cell, _NotebookObject, "Notebook" ]; - ShowCodeAssistance[ nbo, "Window", opts ] + ShowNotebookAssistance[ nbo, "Window", opts ] ], throwInternalFailure ]; @@ -288,19 +288,19 @@ $$alias = Alternatives @@ Keys @ $aliasRules; $$specialAlias = Alternatives[ "CellInsertionPoint" ]; -ShowCodeAssistance[ alias: $$specialAlias, opts: OptionsPattern[ ] ] := - catchMine @ ShowCodeAssistance[ Automatic, alias, opts ]; +ShowNotebookAssistance[ alias: $$specialAlias, opts: OptionsPattern[ ] ] := + catchMine @ ShowNotebookAssistance[ Automatic, alias, opts ]; -ShowCodeAssistance[ obj_, alias: $$specialAlias, opts: OptionsPattern[ ] ] := +ShowNotebookAssistance[ obj_, alias: $$specialAlias, opts: OptionsPattern[ ] ] := catchMine @ Enclose[ - ConfirmMatch[ autoShowCodeAssistance[ alias, obj, opts ], Null|_NotebookObject|_CellObject, "AutoShow" ], + ConfirmMatch[ autoShowNotebookAssistance[ alias, obj, opts ], Null|_NotebookObject|_CellObject, "AutoShow" ], throwInternalFailure ]; -ShowCodeAssistance[ alias: $$alias, opts: OptionsPattern[ ] ] := catchMine @ Enclose[ - ShowCodeAssistance[ +ShowNotebookAssistance[ alias: $$alias, opts: OptionsPattern[ ] ] := catchMine @ Enclose[ + ShowNotebookAssistance[ ConfirmMatch[ $aliasRules[ alias, "DefaultObject" ], _CellObject|_NotebookObject, "DefaultObject" ], alias, opts @@ -309,11 +309,11 @@ ShowCodeAssistance[ alias: $$alias, opts: OptionsPattern[ ] ] := catchMine @ Enc ]; -ShowCodeAssistance[ obj: _CellObject|_NotebookObject, alias: $$alias, opts: OptionsPattern[ ] ] := catchMine @ Enclose[ +ShowNotebookAssistance[ obj: _CellObject|_NotebookObject, alias: $$alias, opts: OptionsPattern[ ] ] := catchMine @ Enclose[ Module[ { type, options }, type = ConfirmMatch[ $aliasRules[ alias, "Type" ], "Window"|"Inline", "Type" ]; options = ConfirmBy[ $aliasRules[ alias, "Options" ], AssociationQ, "Options" ]; - ShowCodeAssistance[ obj, type, opts, Sequence @@ Normal[ options, Association ] ] + ShowNotebookAssistance[ obj, type, opts, Sequence @@ Normal[ options, Association ] ] ], throwInternalFailure ]; @@ -321,30 +321,30 @@ ShowCodeAssistance[ obj: _CellObject|_NotebookObject, alias: $$alias, opts: Opti (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*End Definition*) -ShowCodeAssistance // endExportedDefinition; +ShowNotebookAssistance // endExportedDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) -(*autoShowCodeAssistance*) -autoShowCodeAssistance // beginDefinition; +(*autoShowNotebookAssistance*) +autoShowNotebookAssistance // beginDefinition; -autoShowCodeAssistance[ "CellInsertionPoint", obj0_, opts: OptionsPattern[ ] ] := Enclose[ +autoShowNotebookAssistance[ "CellInsertionPoint", obj0_, opts: OptionsPattern[ ] ] := Enclose[ Catch @ Module[ { nbo, cells, obj }, nbo = ConfirmMatch[ EvaluationNotebook[ ], _NotebookObject, "Notebook" ]; cells = ConfirmMatch[ Cells @ nbo, { ___CellObject }, "Cells" ]; obj = ConfirmMatch[ If[ obj0 === Automatic, nbo, obj0 ], _CellObject|_NotebookObject, "Object" ]; (* It's an empty notebook, so start workspace chat with the getting started prompt: *) - If[ cells === { }, Throw @ ShowCodeAssistance[ obj, "GettingStarted", opts ] ]; + If[ cells === { }, Throw @ ShowNotebookAssistance[ obj, "GettingStarted", opts ] ]; (* Otherwise open an inline chat without initial evaluation: *) SelectionMove[ nbo, Previous, Cell ]; - ShowCodeAssistance[ obj, "Inline", opts ] + ShowNotebookAssistance[ obj, "Inline", opts ] ], throwInternalFailure ]; -autoShowCodeAssistance // endDefinition; +autoShowNotebookAssistance // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) @@ -353,8 +353,8 @@ withExtraInstructions // beginDefinition; withExtraInstructions // Attributes = { HoldRest }; withExtraInstructions[ instructions: $$string, eval_ ] := - Block[ { $codeAssistanceExtraInstructions = instructions }, - needsBasePrompt[ "CodeAssistanceExtraInstructions" ]; + Block[ { $notebookAssistanceExtraInstructions = instructions }, + needsBasePrompt[ "NotebookAssistanceExtraInstructions" ]; eval ]; @@ -375,10 +375,10 @@ validateOptionInput[ input: $$string | None ] := input; validateOptionInput[ Key[ name_String ] ] := - With[ { input = getCodeAssistanceInput @ name }, + With[ { input = getNotebookAssistanceInput @ name }, If[ StringQ @ input, input, - throwFailure[ "MissingCodeAssistanceInput", name ] + throwFailure[ "MissingNotebookAssistanceInput", name ] ] ]; @@ -386,18 +386,18 @@ validateOptionInput // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) -(*Inline Code Assistance*) +(*Inline Notebook Assistance*) (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) -(*showCodeAssistanceInline*) -showCodeAssistanceInline // beginDefinition; +(*showNotebookAssistanceInline*) +showNotebookAssistanceInline // beginDefinition; -showCodeAssistanceInline[ nbo_NotebookObject, input_, evaluate_, settings0_Association ] := Enclose[ +showNotebookAssistanceInline[ nbo_NotebookObject, input_, evaluate_, settings0_Association ] := Enclose[ Module[ { settings, attached }, settings = ConfirmBy[ - mergeChatSettings @ { $codeAssistanceInlineSettings, settings0 }, + mergeChatSettings @ { $notebookAssistanceInlineSettings, settings0 }, AssociationQ, "Settings" ]; @@ -409,10 +409,10 @@ showCodeAssistanceInline[ nbo_NotebookObject, input_, evaluate_, settings0_Assoc throwInternalFailure ]; -showCodeAssistanceInline[ _ ] := +showNotebookAssistanceInline[ _ ] := Beep[ "No notebook selected for code assistance." ]; -showCodeAssistanceInline // endDefinition; +showNotebookAssistanceInline // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) @@ -432,19 +432,19 @@ setInlineInputAndEvaluate // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) -(*Code Assistance Window*) +(*Notebook Assistance Window*) (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) -(*showCodeAssistanceWindow*) -showCodeAssistanceWindow // beginDefinition; +(*showNotebookAssistanceWindow*) +showNotebookAssistanceWindow // beginDefinition; -showCodeAssistanceWindow[ source_, input_, evaluate_, new_, settings_Association ] := - Block[ { $codeAssistanceWorkspaceSettings = mergeChatSettings @ { $codeAssistanceWorkspaceSettings, settings } }, - showCodeAssistanceWindow[ source, input, evaluate, new ] +showNotebookAssistanceWindow[ source_, input_, evaluate_, new_, settings_Association ] := + Block[ { $notebookAssistanceWorkspaceSettings = mergeChatSettings @ { $notebookAssistanceWorkspaceSettings, settings } }, + showNotebookAssistanceWindow[ source, input, evaluate, new ] ]; -showCodeAssistanceWindow[ source_NotebookObject, input_, evaluate_, new_ ] := Enclose[ +showNotebookAssistanceWindow[ source_NotebookObject, input_, evaluate_, new_ ] := Enclose[ Module[ { current, nbo }, current = ConfirmMatch[ @@ -469,7 +469,7 @@ showCodeAssistanceWindow[ source_NotebookObject, input_, evaluate_, new_ ] := En ]; -showCodeAssistanceWindow[ None, input_, evaluate_, new_ ] := Enclose[ +showNotebookAssistanceWindow[ None, input_, evaluate_, new_ ] := Enclose[ Module[ { current, nbo }, current = ConfirmMatch[ findCurrentWorkspaceChat[ ], _NotebookObject | Missing[ "NotFound" ], "Existing" ]; @@ -489,7 +489,7 @@ showCodeAssistanceWindow[ None, input_, evaluate_, new_ ] := Enclose[ ]; -showCodeAssistanceWindow // endDefinition; +showNotebookAssistanceWindow // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) @@ -530,11 +530,7 @@ attachToLeft[ source_NotebookObject, current_NotebookObject ] := Enclose[ bottom = margins[[ 2, 1 ]]; top = margins[[ 2, 2 ]]; - If[ NonPositive[ left - width ], - left = width; - bottom = bottom; - top = top; - ]; + If[ NonPositive[ left - width ], left = width ]; SetOptions[ current, @@ -630,6 +626,11 @@ createWorkspaceChat[ source_NotebookObject, cells: { ___Cell } ] := Enclose[ createWorkspaceChat // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Backwards Compatibility*) +ShowCodeAssistance = ShowNotebookAssistance; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) diff --git a/Source/Chatbook/ChatModes/UI.wl b/Source/Chatbook/ChatModes/UI.wl index 70e74046..107a4329 100644 --- a/Source/Chatbook/ChatModes/UI.wl +++ b/Source/Chatbook/ChatModes/UI.wl @@ -625,7 +625,7 @@ popOutButton[ cell_CellObject, messageCells_Dynamic ] := ToBoxes @ Button[ NotebookDelete @ cell; popOutWorkspaceChatNB @ messageCells, Appearance -> "Suppressed", - Tooltip -> ToBoxes @ tr["InlineChatButtonTooltipViewCodeAssist"] + Tooltip -> ToBoxes @ tr["InlineChatButtonTooltipViewNotebookAssist"] ]; popOutButton // endDefinition; diff --git a/Source/Chatbook/ChatbookFiles.wl b/Source/Chatbook/ChatbookFiles.wl index 18f9ca89..36abdbb1 100644 --- a/Source/Chatbook/ChatbookFiles.wl +++ b/Source/Chatbook/ChatbookFiles.wl @@ -48,6 +48,36 @@ chatbookFilesDirectory[ { names___String }, ensure_ ] := Enclose[ chatbookFilesDirectory // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Rename Code Assistance Files*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*renameCodeAssistanceFiles*) +(* This is a temporary measure to ensure that files associated with the renamed "CodeAssistance" app name are + preserved under the new name. It can and should be removed before official release. *) +renameCodeAssistanceFiles // beginDefinition; + +renameCodeAssistanceFiles[ ] := Enclose[ + Module[ { root, chats1, chats2, search1, search2 }, + root = ConfirmBy[ $chatbookRoot, StringQ, "Root" ]; + + chats1 = FileNameJoin @ { root, "SavedChats", "CodeAssistance" }; + chats2 = FileNameJoin @ { root, "SavedChats", "NotebookAssistance" }; + If[ DirectoryQ @ chats1 && ! DirectoryQ @ chats2, RenameDirectory[ chats1, chats2 ] ]; + + search1 = FileNameJoin @ { root, "Search", "CodeAssistance" }; + search2 = FileNameJoin @ { root, "Search", "NotebookAssistance" }; + If[ DirectoryQ @ search1 && ! DirectoryQ @ search2, RenameDirectory[ search1, search2 ] ]; + + renameCodeAssistanceFiles[ ] = Null; + ] // LogChatTiming[ "RenameCodeAssistanceFiles" ], + throwInternalFailure +]; + +renameCodeAssistanceFiles // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) diff --git a/Source/Chatbook/Common.wl b/Source/Chatbook/Common.wl index 2d903729..dafebc71 100644 --- a/Source/Chatbook/Common.wl +++ b/Source/Chatbook/Common.wl @@ -627,6 +627,7 @@ catchTop[ eval_, sym_Symbol ] := catchTopAs = (#1 &) & }, $chatStartTime = AbsoluteTime[ ]; + renameCodeAssistanceFiles[ ]; (* TODO: this is temporary *) Catch[ setServiceCallerAndID[ eval, $chatEvaluationID ], $catchTopTag ] ]; diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index b4e14651..1d7e33e5 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -19,7 +19,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `$chatState; `$cloudEvaluationNotebook; `$cloudInlineReferenceButtons; -`$codeAssistanceExtraInstructions; +`$notebookAssistanceExtraInstructions; `$contextPrompt; `$conversionRules; `$corePersonaNames; @@ -253,6 +253,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `removeBasePrompt; `removeCellAccents; `removeChatMenus; +`renameCodeAssistanceFiles; `replaceCellContext; `resizeMenuIcon; `resizeMultimodalImage; diff --git a/Source/Chatbook/Main.wl b/Source/Chatbook/Main.wl index b76c7d77..845ff6a3 100644 --- a/Source/Chatbook/Main.wl +++ b/Source/Chatbook/Main.wl @@ -19,7 +19,6 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `$ChatPost; `$ChatPre; `$ChatTimingData; -`$CodeAssistanceInputs; `$CurrentChatSettings; `$DefaultChatHandlerFunctions; `$DefaultChatProcessingFunctions; @@ -31,6 +30,7 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `$InstalledTools; `$LastChatbookFailure; `$LastChatbookFailureText; +`$NotebookAssistanceInputs; `$SandboxKernel; `$ToolFunctions; `$WorkspaceChat; @@ -51,7 +51,7 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `CurrentChatSettings; `DeleteChat; `DisplayBase64Boxes; -`EnableCodeAssistance; +`EnableNotebookAssistance; `ExplodeCell; `FormatChatOutput; `FormatToolCall; @@ -80,6 +80,7 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `SetToolOptions; `ShowCodeAssistance; `ShowContentSuggestions; +`ShowNotebookAssistance; `SourceNotebookObjectInformation; `StringToBoxes; `ToggleChatInclusion; @@ -183,7 +184,6 @@ $ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { "$ChatbookFilesDirectory", "$ChatNotebookEvaluation", "$ChatTimingData", - "$CodeAssistanceInputs", "$CurrentChatSettings", "$DefaultChatHandlerFunctions", "$DefaultChatProcessingFunctions", @@ -194,6 +194,7 @@ $ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { "$InstalledTools", "$LastChatbookFailure", "$LastChatbookFailureText", + "$NotebookAssistanceInputs", "$ToolFunctions", "$WorkspaceChat", "AbsoluteCurrentChatSettings", @@ -213,7 +214,7 @@ $ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { "CurrentChatSettings", "DeleteChat", "DisplayBase64Boxes", - "EnableCodeAssistance", + "EnableNotebookAssistance", "ExplodeCell", "FormatChatOutput", "FormatToolCall", @@ -241,6 +242,7 @@ $ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { "SetToolOptions", "ShowCodeAssistance", "ShowContentSuggestions", + "ShowNotebookAssistance", "SourceNotebookObjectInformation", "StringToBoxes", "ToggleChatInclusion", diff --git a/Source/Chatbook/Prompting.wl b/Source/Chatbook/Prompting.wl index 0545d4bf..ecb9b8dd 100644 --- a/Source/Chatbook/Prompting.wl +++ b/Source/Chatbook/Prompting.wl @@ -48,10 +48,10 @@ $basePromptOrder = { "WolframLanguageEvaluatorTool", "EndTurnToken", "EndTurnToolCall", - "CodeAssistanceInstructionsHeader", - "CodeAssistanceGettingStarted", - "CodeAssistanceErrorMessage", - "CodeAssistanceExtraInstructions" + "NotebookAssistanceInstructionsHeader", + "NotebookAssistanceGettingStarted", + "NotebookAssistanceErrorMessage", + "NotebookAssistanceExtraInstructions" }; $basePromptClasses = <| @@ -65,44 +65,44 @@ $basePromptClasses = <| |>; $basePromptDependencies = Append[ "GeneralInstructionsHeader" ] /@ <| - "GeneralInstructionsHeader" -> { }, - "NotebooksPreamble" -> { }, - "AutoAssistant" -> { "CodeBlocks", "DoubleBackticks" }, - "CodeBlocks" -> { }, - "CellLabels" -> { "CodeBlocks", "Notebooks" }, - "CheckboxesIndeterminate" -> { "Checkboxes" }, - "DoubleBackticks" -> { }, - "MathExpressions" -> { "EscapedCharacters" }, - "EscapedCharacters" -> { }, - "DocumentationLinkSyntax" -> { }, - "InlineSymbolLinks" -> { }, - "MessageConversionHeader" -> { "NotebooksPreamble" }, - "ChatInputIndicator" -> { "MessageConversionHeader" }, - "WolframAlphaInputIndicator" -> { "MessageConversionHeader" }, - "ConversionLargeOutputs" -> { "MessageConversionHeader" }, - "ConversionGraphics" -> { "MessageConversionHeader" }, - "MarkdownImageBox" -> { "MessageConversionHeader" }, - "MarkdownImageBoxImporting" -> { "MarkdownImageBox" }, - "ConversionFormatting" -> { "MessageConversionHeader" }, - "ExternalLanguageCells" -> { "MessageConversionHeader" }, - "SpecialURI" -> { }, - "SpecialURIImporting" -> { "SpecialURI" }, - "SpecialURIAudio" -> { "SpecialURI" }, - "SpecialURIVideo" -> { "SpecialURI" }, - "SpecialURIDynamic" -> { "SpecialURI" }, - "VisibleUserInput" -> { }, - "TrivialCode" -> { }, - "WolframSymbolCapitalization" -> { }, - "ModernMethods" -> { }, - "FunctionalStyle" -> { }, - "WolframLanguageStyle" -> { "DocumentationLinkSyntax", "InlineSymbolLinks" }, - "WolframLanguageEvaluatorTool" -> { "WolframLanguageStyle" }, - "EndTurnToken" -> { }, - "EndTurnToolCall" -> { "EndTurnToken" }, - "CodeAssistanceInstructionsHeader" -> { }, - "CodeAssistanceGettingStarted" -> { "CodeAssistanceInstructionsHeader" }, - "CodeAssistanceErrorMessage" -> { "CodeAssistanceInstructionsHeader" }, - "CodeAssistanceExtraInstructions" -> { "CodeAssistanceInstructionsHeader" } + "GeneralInstructionsHeader" -> { }, + "NotebooksPreamble" -> { }, + "AutoAssistant" -> { "CodeBlocks", "DoubleBackticks" }, + "CodeBlocks" -> { }, + "CellLabels" -> { "CodeBlocks", "Notebooks" }, + "CheckboxesIndeterminate" -> { "Checkboxes" }, + "DoubleBackticks" -> { }, + "MathExpressions" -> { "EscapedCharacters" }, + "EscapedCharacters" -> { }, + "DocumentationLinkSyntax" -> { }, + "InlineSymbolLinks" -> { }, + "MessageConversionHeader" -> { "NotebooksPreamble" }, + "ChatInputIndicator" -> { "MessageConversionHeader" }, + "WolframAlphaInputIndicator" -> { "MessageConversionHeader" }, + "ConversionLargeOutputs" -> { "MessageConversionHeader" }, + "ConversionGraphics" -> { "MessageConversionHeader" }, + "MarkdownImageBox" -> { "MessageConversionHeader" }, + "MarkdownImageBoxImporting" -> { "MarkdownImageBox" }, + "ConversionFormatting" -> { "MessageConversionHeader" }, + "ExternalLanguageCells" -> { "MessageConversionHeader" }, + "SpecialURI" -> { }, + "SpecialURIImporting" -> { "SpecialURI" }, + "SpecialURIAudio" -> { "SpecialURI" }, + "SpecialURIVideo" -> { "SpecialURI" }, + "SpecialURIDynamic" -> { "SpecialURI" }, + "VisibleUserInput" -> { }, + "TrivialCode" -> { }, + "WolframSymbolCapitalization" -> { }, + "ModernMethods" -> { }, + "FunctionalStyle" -> { }, + "WolframLanguageStyle" -> { "DocumentationLinkSyntax", "InlineSymbolLinks" }, + "WolframLanguageEvaluatorTool" -> { "WolframLanguageStyle" }, + "EndTurnToken" -> { }, + "EndTurnToolCall" -> { "EndTurnToken" }, + "NotebookAssistanceInstructionsHeader" -> { }, + "NotebookAssistanceGettingStarted" -> { "NotebookAssistanceInstructionsHeader" }, + "NotebookAssistanceErrorMessage" -> { "NotebookAssistanceInstructionsHeader" }, + "NotebookAssistanceExtraInstructions" -> { "NotebookAssistanceInstructionsHeader" } |>; (* ::**************************************************************************************************************:: *) @@ -270,13 +270,13 @@ $basePromptComponents[ "EndTurnToolCall" ] = "\ (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) -(*Code Assistance Instructions*) +(*Notebook Assistance Instructions*) (* TODO *) -$basePromptComponents[ "CodeAssistanceInstructionsHeader" ] = " -# Special Instructions for Code Assistance +$basePromptComponents[ "NotebookAssistanceInstructionsHeader" ] = " +# Special Instructions for Notebook Assistance "; -$basePromptComponents[ "CodeAssistanceGettingStarted" ] := "\ +$basePromptComponents[ "NotebookAssistanceGettingStarted" ] := "\ The user has initiated this chat via a \"Need help getting started?\" button that appears in an empty notebook. You should inform the user about some basics of the chat interface: * The user can type chat messages to you in the input field below and either press "<>$enter<>" or click the Send button to send. @@ -291,12 +291,12 @@ You should inform the user about some basics of the chat interface: * Finally, ask a follow-up question to find out what the user is trying to accomplish. "; -$basePromptComponents[ "CodeAssistanceErrorMessage" ] = "\ +$basePromptComponents[ "NotebookAssistanceErrorMessage" ] = "\ The user has initiated this chat via a help button attached to the selected error message cell. \ Your response should be focused on the user's selected error message."; -$basePromptComponents[ "CodeAssistanceExtraInstructions" ] := - $codeAssistanceExtraInstructions; +$basePromptComponents[ "NotebookAssistanceExtraInstructions" ] := + $notebookAssistanceExtraInstructions; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) @@ -307,7 +307,7 @@ $enter := If[ $OperatingSystem === "MacOSX", "return", "enter" ]; (* ::Subsubsection::Closed:: *) (*Extra Instructions*) (* This is set dynamically via Block: *) -$codeAssistanceExtraInstructions = None; +$notebookAssistanceExtraInstructions = None; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) diff --git a/Source/Startup/End/EndStartup.wl b/Source/Startup/End/EndStartup.wl index ff9629f2..e0066f9d 100644 --- a/Source/Startup/End/EndStartup.wl +++ b/Source/Startup/End/EndStartup.wl @@ -4,9 +4,9 @@ *) {$Context, $ContextPath, $ContextAliases} = Wolfram`ChatbookStartupDump`$ContextInfo; -(*--------------------------------*) -(* Adds Help > Code Assistance... *) -(*--------------------------------*) -If[ $Notebooks, Once[ Wolfram`Chatbook`EnableCodeAssistance[ ], "FrontEndSession" ] ]; +(*------------------------------------*) +(* Adds Help > Notebook Assistance... *) +(*------------------------------------*) +If[ $Notebooks, Once[ Wolfram`Chatbook`EnableNotebookAssistance[ ], "FrontEndSession" ] ]; Wolfram`ChatbookStartupDump`$loadTime = SessionTime[ ] - Wolfram`ChatbookStartupDump`$loadStart; \ No newline at end of file