From 5a82a8948a2a99db45771188fe2f66ee3f60b07f Mon Sep 17 00:00:00 2001 From: Vitalii Popov Date: Thu, 5 Mar 2026 16:51:50 +0100 Subject: [PATCH 1/2] feat(feats): expose uiQueueUsesForBatchSetup feature flag in tengo SDK Add `uiQueueUsesForBatchSetup` to feats.lib.tengo and update the fallback runner selection logic in exec/limits.lib.tengo. When the flag is false, the ui-tasks queue uses RunCommand/batch instead of the default RunCommand/executor, enabling batch execution for UI tasks. --- .gitignore | 4 ++++ sdk/workflow-tengo/src/exec/limits.lib.tengo | 2 +- sdk/workflow-tengo/src/feats.lib.tengo | 6 +++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index bfa9e379cc..4e6702b50a 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,10 @@ .vscode/ .claude/settings.local.json +# Agent tools +.mcp_* +.mcp.* + # Testing test_config.json test-dry-run.json diff --git a/sdk/workflow-tengo/src/exec/limits.lib.tengo b/sdk/workflow-tengo/src/exec/limits.lib.tengo index 8ff7e70002..abe89aeac6 100644 --- a/sdk/workflow-tengo/src/exec/limits.lib.tengo +++ b/sdk/workflow-tengo/src/exec/limits.lib.tengo @@ -31,7 +31,7 @@ getResourceTypes := func(queueName) { // Fallback: existing logic for backward compatibility with older backends runnerType := constants.RUNNER_EXECUTOR - if feats.hasBatch && queueName != constants.UI_TASKS_QUEUE { + if feats.hasBatch && (queueName != constants.UI_TASKS_QUEUE || !feats.uiQueueUsesForBatchSetup) { runnerType = constants.RUNNER_BATCH } return { diff --git a/sdk/workflow-tengo/src/feats.lib.tengo b/sdk/workflow-tengo/src/feats.lib.tengo index ba5b8fabc6..e1af919bb0 100644 --- a/sdk/workflow-tengo/src/feats.lib.tengo +++ b/sdk/workflow-tengo/src/feats.lib.tengo @@ -65,5 +65,9 @@ export ll.toStrict({ hasBlobSize: ll.methodExists(plapi, "getBlobSize"), // true when backend supports docker packages - isDockerAvailable: _isEnabled("dockerSupport") + isDockerAvailable: _isEnabled("dockerSupport"), + + // when true (default), ui-tasks queue uses RunCommand/executor resource type. + // when false, ui-tasks queue uses RunCommand/batch resource type (when batch setup is active). + uiQueueUsesForBatchSetup: _isEnabled("uiQueueUsesForBatchSetup") }) From 3ad6a50cf6c8854b3e6f49f0eba97f76a5348042 Mon Sep 17 00:00:00 2001 From: Vitalii Popov Date: Thu, 5 Mar 2026 18:43:23 +0100 Subject: [PATCH 2/2] =?UTF-8?q?refactor(feats):=20rename=20uiQueueUsesForB?= =?UTF-8?q?atchSetup=20=E2=86=92=20uiQueueForceLocalExecutor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 3 ++- sdk/workflow-tengo/src/exec/limits.lib.tengo | 2 +- sdk/workflow-tengo/src/feats.lib.tengo | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 6587409d5a..8397338d2a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -40,5 +40,6 @@ "editor.defaultFormatter": "oxc.oxc-vscode" }, "typescript.tsdk": "./node_modules/typescript/lib", - "vitest.maximumConfigs": 1000 + "vitest.maximumConfigs": 1000, + "vitest.disableWorkspaceWarning": true } diff --git a/sdk/workflow-tengo/src/exec/limits.lib.tengo b/sdk/workflow-tengo/src/exec/limits.lib.tengo index abe89aeac6..bded6fcdf2 100644 --- a/sdk/workflow-tengo/src/exec/limits.lib.tengo +++ b/sdk/workflow-tengo/src/exec/limits.lib.tengo @@ -31,7 +31,7 @@ getResourceTypes := func(queueName) { // Fallback: existing logic for backward compatibility with older backends runnerType := constants.RUNNER_EXECUTOR - if feats.hasBatch && (queueName != constants.UI_TASKS_QUEUE || !feats.uiQueueUsesForBatchSetup) { + if feats.hasBatch && (queueName != constants.UI_TASKS_QUEUE || !feats.uiQueueAllowedInExecutor) { runnerType = constants.RUNNER_BATCH } return { diff --git a/sdk/workflow-tengo/src/feats.lib.tengo b/sdk/workflow-tengo/src/feats.lib.tengo index e1af919bb0..f638a73f20 100644 --- a/sdk/workflow-tengo/src/feats.lib.tengo +++ b/sdk/workflow-tengo/src/feats.lib.tengo @@ -69,5 +69,5 @@ export ll.toStrict({ // when true (default), ui-tasks queue uses RunCommand/executor resource type. // when false, ui-tasks queue uses RunCommand/batch resource type (when batch setup is active). - uiQueueUsesForBatchSetup: _isEnabled("uiQueueUsesForBatchSetup") + uiQueueAllowedInExecutor: _isEnabled("uiQueueAllowedInExecutor") })