Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 0 additions & 31 deletions src/ui/src/builder/BuilderApp.vue
Original file line number Diff line number Diff line change
Expand Up @@ -84,16 +84,6 @@
<BuilderPanelSwitcher class="panelSwitcher" />
</template>
</ShareResizeVertical>
<div
v-if="showDeprecationBanner"
aria-hidden="true"
class="deprecationDimmer"
/>
<div
v-if="showDeprecationBanner"
aria-hidden="true"
class="deprecationBlocker"
/>
</div>

<!-- INSTANCE TRACKERS -->
Expand Down Expand Up @@ -603,27 +593,6 @@ onUnmounted(() => {
display: grid;
}

.deprecationDimmer {
pointer-events: none;
position: absolute;
inset: 0;
z-index: 6;
background-color: #e4e7ed;
opacity: 0.65;
}

.deprecationBlocker {
pointer-events: all;
cursor: not-allowed;
position: absolute;
top: var(--builderTopBarHeight);
left: 0;
right: 0;
bottom: 0;
z-index: 6;
background: transparent;
}

.builderHeader {
grid-column: 1 / 3;
grid-row: 1;
Expand Down
4 changes: 2 additions & 2 deletions src/ui/src/builder/BuilderDeprecationBanner.vue
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ const body = computed(() => {
}
return props.isOrganizationAdmin
? "This legacy agent editor will no longer be available - migrate your agent to the new Agent Builder now."
: "This legacy agent editor will no longer be available - create a Playbook instead.";
: "This legacy agent editor will no longer be available - work with your Admin to migrate your agent to the new Agent Builder now.";
});

const migrateLabel = computed(() =>
Expand Down Expand Up @@ -237,7 +237,7 @@ function onPlaybookClick() {

.BuilderDeprecationBanner__copy {
min-width: 0;
max-width: 720px;
max-width: calc(100% - 200px);
color: white;
}

Expand Down
7 changes: 7 additions & 0 deletions src/writer/serve.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
from pydantic import ValidationError
from starlette.websockets import WebSocket, WebSocketDisconnect, WebSocketState

import writer
from writer import VERSION, abstract
from writer.ai import Graph
from writer.app_runner import AppRunner
Expand Down Expand Up @@ -136,6 +137,12 @@ async def lifespan(asgi_app: FastAPI):
app_runner.hook_to_running_event_loop()
app_runner.load()

# Register platform-level deprecation flags so the LaunchDarkly client
# evaluates them for every agent builder session. These are merged with
# any flags already set by the user application's main.py.
_PLATFORM_FLAGS = {"beforeDeprecationCutoffAbv2", "afterDeprecationCutoffAbv2"}
writer.Config.feature_flags = list(set(writer.Config.feature_flags) | _PLATFORM_FLAGS)

if (
on_load is not None
and hasattr(asgi_app.state, "is_server_static_mounted")
Expand Down
11 changes: 10 additions & 1 deletion tests/backend/test_serve.py
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,16 @@ def test_feature_flags(self):
"Content-Type": "application/json"
})
feature_flags = res.json().get("featureFlags")
assert feature_flags == ["blueprints", "flag_one", "flag_two", "api_trigger", 'cron_trigger', 'journal']
assert set(feature_flags) == {
"blueprints",
"flag_one",
"flag_two",
"api_trigger",
"cron_trigger",
"journal",
"beforeDeprecationCutoffAbv2",
"afterDeprecationCutoffAbv2",
}

def test_get_cron_triggers_api(self):
"""
Expand Down
Loading