From 72d928f9073b47f532e6699d56373d239262121d Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Wed, 13 May 2026 11:28:09 -0400 Subject: [PATCH] Rename launch payload to native_template --- dist/main/file_handlers.js | 18 +++++++++--------- dist/main/file_handlers.js.map | 2 +- src/main/file_handlers.ts | 18 +++++++++--------- src/shared/types.ts | 2 +- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/dist/main/file_handlers.js b/dist/main/file_handlers.js index b756ee1..21c4942 100644 --- a/dist/main/file_handlers.js +++ b/dist/main/file_handlers.js @@ -130,7 +130,7 @@ function registerFileHandlers() { endpoints_in_progress = endpoints_in_progress.filter(e => e !== url); } }); - electron_1.ipcMain.handle('native:launch-from-cache', async (event, { cache_root, hash, temp_root, filename, hash_prefix_length = 2, launch_profiles = null }) => { + electron_1.ipcMain.handle('native:launch-from-cache', async (event, { cache_root, hash, temp_root, filename, hash_prefix_length = 2, native_template = null }) => { try { const source = get_organized_hashed_path(cache_root, hash, hash_prefix_length); const expanded_temp = (0, file_utils_1.expandPath)(temp_root); @@ -143,16 +143,16 @@ function registerFileHandlers() { fs.mkdirSync(expanded_temp, { recursive: true }); // 1. Copy the file to temp folder with original name fs.copyFileSync(source, target); - // 2a. Data-driven launcher profile (no rebuild needed for config changes). - // Set via event_device.data_json.launch_profiles or $events_loc.launcher.launch_profiles. + // 2a. Data-driven launcher template (no rebuild needed for config changes). + // Svelte resolves launch_profiles to a single AppleScript string or "shell:" template. // Format: AppleScript string with {{path}} placeholder, OR "shell: {{path}}" - if (!launch_profiles) { - return { success: false, error: 'No launch profile configured for this file' }; + if (!native_template) { + return { success: false, error: 'No native template configured for this file' }; } - const resolved = launch_profiles.replace(/\{\{path\}\}/g, target); + const resolved = native_template.replace(/\{\{path\}\}/g, target); if (resolved.startsWith('shell:')) { const cmd = resolved.slice(6).trim(); - console.log(`Native: Running custom shell profile for ${filename}`); + console.log(`Native: Running custom shell template for ${filename}`); return new Promise((resolve_fn) => { (0, child_process_1.exec)(cmd, (err, stdout, stderr) => { if (err) @@ -162,7 +162,7 @@ function registerFileHandlers() { }); }); } - console.log(`Native: Running custom AppleScript profile for ${filename}`); + console.log(`Native: Running custom AppleScript template for ${filename}`); const tmp_script_path = path.join(os.tmpdir(), `ae_launch_${Date.now()}.scpt`); return new Promise((resolve_fn) => { try { @@ -193,7 +193,7 @@ function registerFileHandlers() { // run_osascript, run_cmd, open_local_file, etc. // // This is the preferred building block for custom launch flows. Use launch_from_cache - // when the built-in hardcoded logic is sufficient; use copy_from_cache_to_temp when + // when Svelte has already resolved a native template; use copy_from_cache_to_temp when // you want full control over what happens after the file lands in temp. electron_1.ipcMain.handle('native:copy-from-cache-to-temp', async (event, { cache_root, hash, temp_root, filename, hash_prefix_length = 2 }) => { try { diff --git a/dist/main/file_handlers.js.map b/dist/main/file_handlers.js.map index 4cd182c..2dc50f9 100644 --- a/dist/main/file_handlers.js.map +++ b/dist/main/file_handlers.js.map @@ -1 +1 @@ -{"version":3,"file":"file_handlers.js","sourceRoot":"","sources":["../../src/main/file_handlers.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"file_handlers.js","sourceRoot":"","sources":["../../src/main/file_handlers.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/main/file_handlers.ts b/src/main/file_handlers.ts index ed52942..e70f126 100644 --- a/src/main/file_handlers.ts +++ b/src/main/file_handlers.ts @@ -100,7 +100,7 @@ export function registerFileHandlers() { } }); - ipcMain.handle('native:launch-from-cache', async (event, { cache_root, hash, temp_root, filename, hash_prefix_length = 2, launch_profiles = null }) => { + ipcMain.handle('native:launch-from-cache', async (event, { cache_root, hash, temp_root, filename, hash_prefix_length = 2, native_template = null }) => { try { const source = get_organized_hashed_path(cache_root, hash, hash_prefix_length); const expanded_temp = expandPath(temp_root); @@ -117,17 +117,17 @@ export function registerFileHandlers() { // 1. Copy the file to temp folder with original name fs.copyFileSync(source, target); - // 2a. Data-driven launcher profile (no rebuild needed for config changes). - // Set via event_device.data_json.launch_profiles or $events_loc.launcher.launch_profiles. + // 2a. Data-driven launcher template (no rebuild needed for config changes). + // Svelte resolves launch_profiles to a single AppleScript string or "shell:" template. // Format: AppleScript string with {{path}} placeholder, OR "shell: {{path}}" - if (!launch_profiles) { - return { success: false, error: 'No launch profile configured for this file' }; + if (!native_template) { + return { success: false, error: 'No native template configured for this file' }; } - const resolved = (launch_profiles as string).replace(/\{\{path\}\}/g, target); + const resolved = native_template.replace(/\{\{path\}\}/g, target); if (resolved.startsWith('shell:')) { const cmd = resolved.slice(6).trim(); - console.log(`Native: Running custom shell profile for ${filename}`); + console.log(`Native: Running custom shell template for ${filename}`); return new Promise((resolve_fn) => { exec(cmd, (err, stdout, stderr) => { if (err) resolve_fn({ success: false, error: err.message, stderr: stderr.trim() }); @@ -136,7 +136,7 @@ export function registerFileHandlers() { }); } - console.log(`Native: Running custom AppleScript profile for ${filename}`); + console.log(`Native: Running custom AppleScript template for ${filename}`); const tmp_script_path = path.join(os.tmpdir(), `ae_launch_${Date.now()}.scpt`); return new Promise((resolve_fn) => { try { @@ -162,7 +162,7 @@ export function registerFileHandlers() { // run_osascript, run_cmd, open_local_file, etc. // // This is the preferred building block for custom launch flows. Use launch_from_cache - // when the built-in hardcoded logic is sufficient; use copy_from_cache_to_temp when + // when Svelte has already resolved a native template; use copy_from_cache_to_temp when // you want full control over what happens after the file lands in temp. ipcMain.handle('native:copy-from-cache-to-temp', async (event, { cache_root, hash, temp_root, filename, hash_prefix_length = 2 }) => { try { diff --git a/src/shared/types.ts b/src/shared/types.ts index 7259848..2aeb1e9 100644 --- a/src/shared/types.ts +++ b/src/shared/types.ts @@ -24,7 +24,7 @@ export interface AetherNativeBridge { check_cache: (args: {cache_root: string, hash: string, hash_prefix_length?: number}) => Promise; download_to_cache: (args: {url: string, cache_root: string, hash: string, api_key: string, account_id?: string, hash_prefix_length?: number}) => Promise<{success: boolean, error?: string}>; copy_from_cache_to_temp: (args: {cache_root: string, hash: string, temp_root: string, filename: string, hash_prefix_length?: number}) => Promise<{success: boolean, path?: string, error?: string}>; - launch_from_cache: (args: {cache_root: string, hash: string, temp_root: string, filename: string, hash_prefix_length?: number, launch_profiles?: string}) => Promise<{success: boolean, error?: string}>; + launch_from_cache: (args: {cache_root: string, hash: string, temp_root: string, filename: string, hash_prefix_length?: number, native_template?: string}) => Promise<{success: boolean, error?: string}>; // Specialized Presentation Handlers (Phase 5) launch_presentation: (args: {path: string, app?: string}) => Promise<{success: boolean, error?: string, stdout?: string, stderr?: string}>;