From 15bc2999872b1af633e9e33c7888e6d2629407eb Mon Sep 17 00:00:00 2001 From: Hare Date: Sat, 5 Sep 2026 06:49:06 +0900 Subject: [PATCH] fix: align integrated validation contracts --- crates/worker/tests/controller_test.rs | 14 +++++++++++++- crates/workspace-server/src/config_source.rs | 2 -- .../workspace/console/worker-console.ui.test.ts | 4 ++-- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/crates/worker/tests/controller_test.rs b/crates/worker/tests/controller_test.rs index 403ca3cb..143c1da9 100644 --- a/crates/worker/tests/controller_test.rs +++ b/crates/worker/tests/controller_test.rs @@ -795,13 +795,25 @@ permission = "write" #[tokio::test] async fn builtin_orchestrator_exposes_worker_remove_and_workdir_delete() { let workspace = tempfile::tempdir().unwrap(); - let resolved = ProfileResolver::new() + let mut resolved = ProfileResolver::new() .with_workspace_base(workspace.path()) .resolve( &ProfileSelector::source_named(ProfileRegistrySource::Builtin, "orchestrator"), ProfileResolveOptions::with_worker_name("orchestrator-worker"), ) .unwrap(); + if resolved.manifest.feature.memory.enabled() { + resolved + .manifest + .feature + .memory + .bind_workspace_settings(manifest::WorkspaceMemorySettingsSnapshot { + workspace_id: "workspace-test".to_string(), + settings_revision: 1, + language: "English".to_string(), + }) + .unwrap(); + } let workspace_context = WorkerWorkspaceContext::with_client(None, Arc::new(NoopWorkspaceClient)); let client = MockClient::new(simple_text_events()); diff --git a/crates/workspace-server/src/config_source.rs b/crates/workspace-server/src/config_source.rs index d1dbc986..3d3ec807 100644 --- a/crates/workspace-server/src/config_source.rs +++ b/crates/workspace-server/src/config_source.rs @@ -101,7 +101,6 @@ fn main_config_contract_with_schema( } #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, ts_rs::TS)] -#[ts(export)] pub struct WorkspaceConfigState { pub snapshot: ConfigTreeSnapshot, pub contract: ToolchainContract, @@ -118,7 +117,6 @@ pub struct EvaluatedConfigCandidate { } #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, ts_rs::TS)] -#[ts(export)] pub struct ConfigCommitRequest { #[ts(type = "number")] pub base_revision: u64, diff --git a/web/workspace/src/lib/workspace/console/worker-console.ui.test.ts b/web/workspace/src/lib/workspace/console/worker-console.ui.test.ts index 869603f3..d9e8650c 100644 --- a/web/workspace/src/lib/workspace/console/worker-console.ui.test.ts +++ b/web/workspace/src/lib/workspace/console/worker-console.ui.test.ts @@ -567,7 +567,7 @@ Deno.test("Worker Console composer keeps a compact bounded chip editor", async ( ); assert( consolePage.includes("') && + consolePage.includes('class="composer-input-shell"') && !consolePage.includes("handleComposerShellClick") && consolePage.includes("bind:this={composerInputElement}") && consolePage.includes("onchange={handleComposerChange}") && @@ -616,7 +616,7 @@ Deno.test("Worker Console paste chips preserve typed draft and target authority" consolePage.includes("if (!composerEditable) return") && composerInput.includes('chip.setAttribute("aria-label", label)') && composerInput.includes("preserveExactText = false") && - consolePage.includes("buildComposerSegmentsRequest(value.segments, {") && + consolePage.includes("const command = buildComposerSegmentsRequest(") && consolePage.includes("preserveExactText: value.textPastes.length > 0") && consolePage.includes("composerDrafts.set(activeComposerTargetKey") && consolePage.includes("switchComposerTarget(target)") &&