diff --git a/packages/frontend/src/pages/flash/flash.vue b/packages/frontend/src/pages/flash/flash.vue index fa4050915b..dccd1e5dfd 100644 --- a/packages/frontend/src/pages/flash/flash.vue +++ b/packages/frontend/src/pages/flash/flash.vue @@ -145,7 +145,7 @@ async function run() { aiscript = new Interpreter({ ...createAiScriptEnv({ - scriptData: { + storageMetadata: { type: 'flash', id: flash.id, }, diff --git a/packages/frontend/src/pages/scratchpad.vue b/packages/frontend/src/pages/scratchpad.vue index 21f63ef1ca..1b1ffed7c9 100644 --- a/packages/frontend/src/pages/scratchpad.vue +++ b/packages/frontend/src/pages/scratchpad.vue @@ -80,7 +80,7 @@ async function run() { aiscript = new Interpreter(({ ...createAiScriptEnv({ token: $i?.token, - scriptData: { + storageMetadata: { type: 'widget', }, }), diff --git a/packages/frontend/src/plugin.ts b/packages/frontend/src/plugin.ts index d780061b37..0fc7a384e1 100644 --- a/packages/frontend/src/plugin.ts +++ b/packages/frontend/src/plugin.ts @@ -69,7 +69,7 @@ function createPluginEnv(opts: { plugin: Plugin; }): Record { utils.assertString(title); diff --git a/packages/frontend/src/scripts/aiscript/api.ts b/packages/frontend/src/scripts/aiscript/api.ts index 23dd317790..a5a0bd77d2 100644 --- a/packages/frontend/src/scripts/aiscript/api.ts +++ b/packages/frontend/src/scripts/aiscript/api.ts @@ -9,9 +9,9 @@ import { $i } from '@/account.js'; import { customEmojis } from '@/custom-emojis.js'; import { url, lang } from '@/config.js'; import { nyaize } from '@/scripts/nyaize.js'; -import { ScriptData, loadScriptStorage, saveScriptStorage } from './storage.js'; +import { StorageMetadata, loadScriptStorage, saveScriptStorage } from './storage.js'; -export function createAiScriptEnv(opts: { token: string; scriptData: ScriptData; }) { +export function createAiScriptEnv(opts: { token: string; storageMetadata: StorageMetadata; }) { return { USER_ID: $i ? values.STR($i.id) : values.NULL, USER_NAME: $i ? values.STR($i.name) : values.NULL, @@ -69,7 +69,7 @@ export function createAiScriptEnv(opts: { token: string; scriptData: ScriptData; } } const saveToAccount = option && option.value.toAccount ? option.value.toAccount.value : false; - return saveScriptStorage(saveToAccount, opts.scriptData, key.value, utils.valToJs(value)).then(() => { + return saveScriptStorage(saveToAccount, opts.storageMetadata, key.value, utils.valToJs(value)).then(() => { return values.NULL; }, err => { return values.ERROR('request_failed', utils.jsToVal(err)); @@ -84,7 +84,7 @@ export function createAiScriptEnv(opts: { token: string; scriptData: ScriptData; } } const loadToAccount = option && option.value.toAccount ? option.value.toAccount.value : false; - return loadScriptStorage(loadToAccount, opts.scriptData, key.value).then(res => { + return loadScriptStorage(loadToAccount, opts.storageMetadata, key.value).then(res => { return utils.jsToVal(res); }, err => { return values.ERROR('request_failed', utils.jsToVal(err)); diff --git a/packages/frontend/src/scripts/aiscript/storage.ts b/packages/frontend/src/scripts/aiscript/storage.ts index 98d266c0df..80a527149f 100644 --- a/packages/frontend/src/scripts/aiscript/storage.ts +++ b/packages/frontend/src/scripts/aiscript/storage.ts @@ -3,21 +3,21 @@ import { miLocalStorage } from '@/local-storage.js'; import { $i } from '@/account.js'; type ScriptType = 'widget' | 'plugins' | 'flash'; -export type ScriptData = { type: ScriptType; id?: string; fromAccount?: boolean }; +export type StorageMetadata = { type: ScriptType; id?: string; fromAccount?: boolean }; -export async function loadScriptStorage(toAccount: boolean, scriptData: ScriptData, key: string) { +export async function loadScriptStorage(toAccount: boolean, storageMetadata: StorageMetadata, key: string) { let value: string | null; - if ($i && toAccount && (scriptData.type !== 'plugins' || (scriptData.type === 'plugins' && scriptData.fromAccount))) { - if (scriptData.type === 'widget') { - value = await api('i/registry/get', { scope: ['client', 'aiscript', scriptData.type], key: key }); + if ($i && toAccount && (storageMetadata.type !== 'plugins' || (storageMetadata.type === 'plugins' && storageMetadata.fromAccount))) { + if (storageMetadata.type === 'widget') { + value = await api('i/registry/get', { scope: ['client', 'aiscript', storageMetadata.type], key: key }); } else { - value = await api('i/registry/get', { scope: ['client', 'aiscript', scriptData.type, scriptData.id!], key: key }); + value = await api('i/registry/get', { scope: ['client', 'aiscript', storageMetadata.type, storageMetadata.id!], key: key }); } } else { - if (scriptData.type === 'widget') { - value = miLocalStorage.getItem(`aiscript:${scriptData.type}:${key}`); + if (storageMetadata.type === 'widget') { + value = miLocalStorage.getItem(`aiscript:${storageMetadata.type}:${key}`); } else { - value = miLocalStorage.getItem(`aiscript:${scriptData.type}:${scriptData.id!}:${key}`); + value = miLocalStorage.getItem(`aiscript:${storageMetadata.type}:${storageMetadata.id!}:${key}`); } } @@ -25,19 +25,19 @@ export async function loadScriptStorage(toAccount: boolean, scriptData: ScriptDa return JSON.parse(value); } -export async function saveScriptStorage(toAccount: boolean, scriptData: ScriptData, key: string, value: any) { +export async function saveScriptStorage(toAccount: boolean, storageMetadata: StorageMetadata, key: string, value: any) { const jsonValue = JSON.stringify(value); - if ($i && toAccount && (scriptData.type !== 'plugins' || (scriptData.type === 'plugins' && scriptData.fromAccount))) { - if (scriptData.type === 'widget') { - await api('i/registry/set', { scope: ['client', 'aiscript', scriptData.type], key: key, value: jsonValue }); + if ($i && toAccount && (storageMetadata.type !== 'plugins' || (storageMetadata.type === 'plugins' && storageMetadata.fromAccount))) { + if (storageMetadata.type === 'widget') { + await api('i/registry/set', { scope: ['client', 'aiscript', storageMetadata.type], key: key, value: jsonValue }); } else { - await api('i/registry/set', { scope: ['client', 'aiscript', scriptData.type, scriptData.id!], key: key, value: jsonValue }); + await api('i/registry/set', { scope: ['client', 'aiscript', storageMetadata.type, storageMetadata.id!], key: key, value: jsonValue }); } } else { - if (scriptData.type === 'widget') { - miLocalStorage.setItem(`aiscript:${scriptData.type}:${key}`, jsonValue); + if (storageMetadata.type === 'widget') { + miLocalStorage.setItem(`aiscript:${storageMetadata.type}:${key}`, jsonValue); } else { - miLocalStorage.setItem(`aiscript:${scriptData.type}:${scriptData.id!}:${key}`, jsonValue); + miLocalStorage.setItem(`aiscript:${storageMetadata.type}:${storageMetadata.id!}:${key}`, jsonValue); } } } diff --git a/packages/frontend/src/widgets/WidgetAiscript.vue b/packages/frontend/src/widgets/WidgetAiscript.vue index df3f163c10..8f01654ebf 100644 --- a/packages/frontend/src/widgets/WidgetAiscript.vue +++ b/packages/frontend/src/widgets/WidgetAiscript.vue @@ -67,7 +67,7 @@ const run = async () => { logs.value = []; const aiscript = new Interpreter(createAiScriptEnv({ token: $i?.token, - scriptData: { + storageMetadata: { type: 'widget', }, }), { diff --git a/packages/frontend/src/widgets/WidgetAiscriptApp.vue b/packages/frontend/src/widgets/WidgetAiscriptApp.vue index b99ab5a15c..6df9777a7d 100644 --- a/packages/frontend/src/widgets/WidgetAiscriptApp.vue +++ b/packages/frontend/src/widgets/WidgetAiscriptApp.vue @@ -58,7 +58,7 @@ async function run() { const aiscript = new Interpreter({ ...createAiScriptEnv({ token: $i?.token, - scriptData: { + storageMetadata: { type: 'widget', }, }), diff --git a/packages/frontend/src/widgets/WidgetButton.vue b/packages/frontend/src/widgets/WidgetButton.vue index 387af44e69..69b929591b 100644 --- a/packages/frontend/src/widgets/WidgetButton.vue +++ b/packages/frontend/src/widgets/WidgetButton.vue @@ -54,7 +54,7 @@ const parser = new Parser(); const run = async () => { const aiscript = new Interpreter(createAiScriptEnv({ token: $i?.token, - scriptData: { + storageMetadata: { type: 'widget', }, }), {