A scripting addition is a compiled-code resource that implements additional AppleScript language terminology and commands. AppleScript loads any scripting additions that it finds in the ScriptingAdditions folder (in /System/Library, in /Library, or in your user Library), and the terms and commands implemented in them become effectively part of the language.
Because of the nature of this mechanism, you don’t have to be in any application’s tell context in order to use a term defined by a scripting addition. Instead, a scripting addition’s terms are simply “part of the language”. For example, to learn today’s date, you just say current date
, anywhere. You do not — indeed, you cannot — explicitly target a scripting addition.
Nevertheless, everything in AppleScript works through dictionaries, so every scripting addition has a dictionary. Script Debugger collects all the dictionaries of all loaded scripting additions into a single dictionary display, called “Scripting Additions”.
Because scripting addition terminology is always available, no matter what application you are talking to (or even if you are talking to no application), Script Debugger makes scripting addition terms automatically part of the tell context.
Scripting additions are a notorious source of terminology clash.
Running a script in the absence of a scripting addition on which the script depends will probably result in a mysterious runtime error. Opening such a script will result in the appearance of raw Apple event codes in the script (Script Debugger tries to help track down the source of the problem, but it isn’t easy because the name of the missing scripting addition doesn’t appear in the code, since scripting additions are not explicitly targeted).