feat: let raw app backend runnables import each other (#11777)

* fix: iterate workspace picker nav items without spreading a NodeList

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: let raw app backend runnables import each other

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: preview only imported sibling runnables and reserve the main id

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: resolve a module's workspace imports from the entrypoint's folder

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: scope run-mode app scripts to their app and key bundles on module imports

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: clone app_version_lite into forks with remapped app_script ids

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs: update the run-mode raw_code comment for app-scoped ids

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: run module-bearing app scripts only from the deployed version

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: run deployed inline code only through the deployed version's rows

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: in-workspace app viewers run through the deployed rows

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: let the app embed token read the app's lite value

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: pass sibling modules to the agent-worker Python preview resolver

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs: list the lite route in the app embed scope comment

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref to 455f98540fb042d4f624dcec681dab88b2c8df22

This commit updates the EE repository reference after PR #883 was merged in windmill-ee-private.

Previous ee-repo-ref: 927d3592a6b2127ffe16fb14eb47f5bd66afc026

New ee-repo-ref: 455f98540fb042d4f624dcec681dab88b2c8df22

Automated by sync-ee-ref workflow.

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
This commit is contained in:
Ruben Fiszel
2026-10-15 13:36:34 +02:00
committed by GitHub
co-authored by Claude Opus 5.5 windmill-internal-app[bot]
parent 813c080d46
commit 526da60da9
38 changed files with 810 additions and 138 deletions
+44 -1
View File
@@ -791,7 +791,8 @@ pub async fn handle_python_job(
None
};
let (py_version, mut additional_python_paths) = handle_python_deps(
let module_sources = windmill_parser_py_imports::module_sources(&script_path, modules.as_ref());
let (py_version, mut additional_python_paths) = handle_python_deps_with_modules(
job_dir,
requirements_o,
inner_content,
@@ -807,6 +808,7 @@ pub async fn handle_python_job(
precomputed_agent_info,
annotations.clone(),
&temp_script_refs,
module_sources.as_ref(),
)
.await?;
@@ -1939,6 +1941,7 @@ async fn replace_pip_secret(
}
}
#[cfg(feature = "private")]
pub(crate) async fn handle_python_deps(
job_dir: &str,
requirements_o: Option<&String>,
@@ -1955,6 +1958,45 @@ pub(crate) async fn handle_python_deps(
precomputed_agent_info: Option<PrecomputedAgentInfo>,
annotations: PythonAnnotations,
temp_script_refs: &Option<HashMap<String, String>>,
) -> error::Result<(PyV, Vec<String>)> {
handle_python_deps_with_modules(
job_dir,
requirements_o,
inner_content,
w_id,
script_path,
job_id,
conn,
worker_name,
worker_dir,
mem_peak,
canceled_by,
occupancy_metrics,
precomputed_agent_info,
annotations,
temp_script_refs,
None,
)
.await
}
async fn handle_python_deps_with_modules(
job_dir: &str,
requirements_o: Option<&String>,
inner_content: &str,
w_id: &str,
script_path: &str,
job_id: &Uuid,
conn: &Connection,
worker_name: &str,
worker_dir: &str,
mem_peak: &mut i32,
canceled_by: &mut Option<CanceledBy>,
occupancy_metrics: &mut Option<&mut OccupancyMetrics>,
precomputed_agent_info: Option<PrecomputedAgentInfo>,
annotations: PythonAnnotations,
temp_script_refs: &Option<HashMap<String, String>>,
module_sources: Option<&HashMap<String, String>>,
) -> error::Result<(PyV, Vec<String>)> {
create_dependencies_dir(job_dir).await;
@@ -1984,6 +2026,7 @@ pub(crate) async fn handle_python_deps(
&mut locked_v,
&None,
temp_script_refs,
module_sources,
))
.await?;