* feat: cache lockfile results for scripts with same raw_workspace_dependencies Extract fetchScriptLock from updateScriptLock to isolate the remote API call behind a module-level in-memory cache. When multiple scripts share the same content, language, and raw_workspace_dependencies, only one remote call is made and subsequent lookups return the cached lock. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix: only use lock cache when raw_workspace_dependencies are present Skip caching entirely when rawWorkspaceDependencies is empty so the cache is only active for scripts that actually use workspace deps. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix: cache key uses only language+deps, not script content Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat: use annotation parser for lock cache key instead of full script content Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * test: add mixed annotated/non-annotated scripts cache test Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
93 KiB
93 KiB