@@ -28,6 +28,8 @@ describe("RuntimeFlags", () => {
2828 OPENCODE_AUTO_SHARE : "true" ,
2929 OPENCODE_DISABLE_EMBEDDED_WEB_UI : "true" ,
3030 OPENCODE_DISABLE_EXTERNAL_SKILLS : "true" ,
31+ OPENCODE_DISABLE_LSP_DOWNLOAD : "true" ,
32+ OPENCODE_SKIP_MIGRATIONS : "true" ,
3133 OPENCODE_EXPERIMENTAL : "true" ,
3234 OPENCODE_ENABLE_EXA : "true" ,
3335 OPENCODE_ENABLE_PARALLEL : "true" ,
@@ -44,6 +46,9 @@ describe("RuntimeFlags", () => {
4446 expect ( flags . disableChannelDb ) . toBe ( true )
4547 expect ( flags . disableEmbeddedWebUi ) . toBe ( true )
4648 expect ( flags . disableExternalSkills ) . toBe ( true )
49+ expect ( flags . disableLspDownload ) . toBe ( true )
50+ expect ( flags . skipMigrations ) . toBe ( true )
51+ expect ( flags . disableClaudeCodePrompt ) . toBe ( false )
4752 expect ( flags . enableExa ) . toBe ( true )
4853 expect ( flags . enableParallel ) . toBe ( true )
4954 expect ( flags . enableExperimentalModels ) . toBe ( true )
@@ -87,6 +92,9 @@ describe("RuntimeFlags", () => {
8792 expect ( flags . disableChannelDb ) . toBe ( false )
8893 expect ( flags . disableEmbeddedWebUi ) . toBe ( false )
8994 expect ( flags . disableExternalSkills ) . toBe ( false )
95+ expect ( flags . disableLspDownload ) . toBe ( false )
96+ expect ( flags . skipMigrations ) . toBe ( false )
97+ expect ( flags . disableClaudeCodePrompt ) . toBe ( false )
9098 expect ( flags . disableClaudeCodeSkills ) . toBe ( false )
9199 expect ( flags . enableExa ) . toBe ( false )
92100 expect ( flags . experimentalIconDiscovery ) . toBe ( false )
@@ -122,6 +130,62 @@ describe("RuntimeFlags", () => {
122130 } ) ,
123131 )
124132
133+ it . effect ( "disableLspDownload defaults to false" , ( ) =>
134+ Effect . gen ( function * ( ) {
135+ const flags = yield * readFlags . pipe ( Effect . provide ( fromConfig ( { } ) ) )
136+
137+ expect ( flags . disableLspDownload ) . toBe ( false )
138+ } ) ,
139+ )
140+
141+ it . effect ( "disableLspDownload reads OPENCODE_DISABLE_LSP_DOWNLOAD" , ( ) =>
142+ Effect . gen ( function * ( ) {
143+ const flags = yield * readFlags . pipe ( Effect . provide ( fromConfig ( { OPENCODE_DISABLE_LSP_DOWNLOAD : "true" } ) ) )
144+
145+ expect ( flags . disableLspDownload ) . toBe ( true )
146+ } ) ,
147+ )
148+
149+ it . effect ( "skipMigrations defaults to false" , ( ) =>
150+ Effect . gen ( function * ( ) {
151+ const flags = yield * readFlags . pipe ( Effect . provide ( fromConfig ( { } ) ) )
152+
153+ expect ( flags . skipMigrations ) . toBe ( false )
154+ } ) ,
155+ )
156+
157+ it . effect ( "skipMigrations reads OPENCODE_SKIP_MIGRATIONS" , ( ) =>
158+ Effect . gen ( function * ( ) {
159+ const flags = yield * readFlags . pipe ( Effect . provide ( fromConfig ( { OPENCODE_SKIP_MIGRATIONS : "true" } ) ) )
160+
161+ expect ( flags . skipMigrations ) . toBe ( true )
162+ } ) ,
163+ )
164+
165+ it . effect ( "disableClaudeCodePrompt defaults to false" , ( ) =>
166+ Effect . gen ( function * ( ) {
167+ const flags = yield * readFlags . pipe ( Effect . provide ( fromConfig ( { } ) ) )
168+
169+ expect ( flags . disableClaudeCodePrompt ) . toBe ( false )
170+ } ) ,
171+ )
172+
173+ it . effect ( "disableClaudeCodePrompt reads OPENCODE_DISABLE_CLAUDE_CODE_PROMPT" , ( ) =>
174+ Effect . gen ( function * ( ) {
175+ const flags = yield * readFlags . pipe ( Effect . provide ( fromConfig ( { OPENCODE_DISABLE_CLAUDE_CODE_PROMPT : "true" } ) ) )
176+
177+ expect ( flags . disableClaudeCodePrompt ) . toBe ( true )
178+ } ) ,
179+ )
180+
181+ it . effect ( "disableClaudeCodePrompt inherits OPENCODE_DISABLE_CLAUDE_CODE" , ( ) =>
182+ Effect . gen ( function * ( ) {
183+ const flags = yield * readFlags . pipe ( Effect . provide ( fromConfig ( { OPENCODE_DISABLE_CLAUDE_CODE : "true" } ) ) )
184+
185+ expect ( flags . disableClaudeCodePrompt ) . toBe ( true )
186+ } ) ,
187+ )
188+
125189 it . effect ( "experimentalIconDiscovery reads OPENCODE_EXPERIMENTAL_ICON_DISCOVERY" , ( ) =>
126190 Effect . gen ( function * ( ) {
127191 const flags = yield * readFlags . pipe ( Effect . provide ( fromConfig ( { OPENCODE_EXPERIMENTAL_ICON_DISCOVERY : "true" } ) ) )
@@ -242,6 +306,8 @@ describe("RuntimeFlags", () => {
242306 OPENCODE_PURE : "true" ,
243307 OPENCODE_DISABLE_DEFAULT_PLUGINS : "true" ,
244308 OPENCODE_DISABLE_EXTERNAL_SKILLS : "true" ,
309+ OPENCODE_DISABLE_LSP_DOWNLOAD : "true" ,
310+ OPENCODE_SKIP_MIGRATIONS : "true" ,
245311 OPENCODE_EXPERIMENTAL : "true" ,
246312 OPENCODE_ENABLE_EXA : "true" ,
247313 OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS : "1234" ,
@@ -256,6 +322,9 @@ describe("RuntimeFlags", () => {
256322 expect ( flags . disableChannelDb ) . toBe ( false )
257323 expect ( flags . disableEmbeddedWebUi ) . toBe ( false )
258324 expect ( flags . disableExternalSkills ) . toBe ( false )
325+ expect ( flags . disableLspDownload ) . toBe ( false )
326+ expect ( flags . skipMigrations ) . toBe ( false )
327+ expect ( flags . disableClaudeCodePrompt ) . toBe ( false )
259328 expect ( flags . disableClaudeCodeSkills ) . toBe ( false )
260329 expect ( flags . enableExa ) . toBe ( false )
261330 expect ( flags . experimentalIconDiscovery ) . toBe ( false )
0 commit comments